This is an automated email from the ASF dual-hosted git repository.

lucasbru pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new ebd7cd39dec MINOR: Document transaction.timeout.ms behavior under EOS 
in Streams config guide (#22067)
ebd7cd39dec is described below

commit ebd7cd39dec4be05c04d884bff548c9df14ac648
Author: Lucas Brutschy <[email protected]>
AuthorDate: Tue Apr 28 19:06:30 2026 +0200

    MINOR: Document transaction.timeout.ms behavior under EOS in Streams config 
guide (#22067)
    
    The Streams configuration guide already lists transaction.timeout.ms and
    its default, but it is easy to overlook when enabling exactly-once
    processing. This adds a short note directly under the
    processing.guarantee section to make it more obvious that users should
    consider the transaction timeout when tuning EOS applications, including
    the broker-side constraint (transaction.max.timeout.ms) and the
    trade-offs of increasing the value.
    
    Reviewers: Andrew Schofield <[email protected]>
    
    ---------
    
    Co-authored-by: Copilot <[email protected]>
---
 docs/streams/developer-guide/config-streams.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs/streams/developer-guide/config-streams.md 
b/docs/streams/developer-guide/config-streams.md
index 8e9fe695fd3..cbe05ed4a69 100644
--- a/docs/streams/developer-guide/config-streams.md
+++ b/docs/streams/developer-guide/config-streams.md
@@ -1589,6 +1589,8 @@ Serde for the inner class of a windowed record. Must 
implement the `Serde` inter
 > Recommendation:
 >     While it is technically possible to use EOS with any replication factor, 
 > using a replication factor lower than 3 effectively voids EOS. Thus it is 
 > strongly recommended to use a replication factor of 3 (together with 
 > `min.in.sync.replicas=2`). This recommendation applies to all topics (i.e. 
 > `__transaction_state`, `__consumer_offsets`, Kafka Streams internal topics, 
 > and user topics).
 
+> When exactly-once processing is enabled, Kafka Streams sets 
`transaction.timeout.ms` to 10000 (10 seconds) by default. This bounds how long 
a transaction may remain open before the broker aborts it and fences the 
producer. If your application requires longer processing times per 
poll-process-commit cycle, you can increase this value via 
`StreamsConfig.producerPrefix(ProducerConfig.TRANSACTION_TIMEOUT_CONFIG)`, but 
note that when EOS is enabled Kafka Streams also requires `transaction.t [...]
+
 ### processor.wrapper.class
 
 > A class or class name implementing the `ProcessorWrapper` interface. This 
 > feature allows you to wrap any of the processors in the compiled topology, 
 > including both custom processor implementations and those created by Streams 
 > for DSL operators. This can be useful for logging or tracing implementations 
 > since it allows access to the otherwise-hidden processor context for DSL 
 > operators, and also allows for injecting additional debugging information to 
 > an entire application topology with j [...]

Reply via email to