Skip to content

Commit 7e336d1

Browse files
Remove outdated information for transactional.id (#2524)
* Remove outdated information for transactional.id Compare #2515 With only EOSMode v2 supported, the alternative way of `transactional.id` creation is not used anymore and not needed anymore. This PR removes the outdated (and confusing) extra documentation in the overview section for transactions. * Polishing Co-authored-by: LukasHeimann <[email protected]> * Polishing Co-authored-by: Gary Russell <[email protected]>
1 parent bc27453 commit 7e336d1

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

spring-kafka-docs/src/main/asciidoc/kafka.adoc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3444,11 +3444,9 @@ Spring for Apache Kafka adds support in the following ways:
34443444
Transactions are enabled by providing the `DefaultKafkaProducerFactory` with a `transactionIdPrefix`.
34453445
In that case, instead of managing a single shared `Producer`, the factory maintains a cache of transactional producers.
34463446
When the user calls `close()` on a producer, it is returned to the cache for reuse instead of actually being closed.
3447-
The `transactional.id` property of each producer is `transactionIdPrefix` + `n`, where `n` starts with `0` and is incremented for each new producer, unless the transaction is started by a listener container with a record-based listener.
3448-
In that case, the `transactional.id` is `<transactionIdPrefix>.<group.id>.<topic>.<partition>`.
3449-
This is to properly support fencing zombies, https://www.confluent.io/blog/transactions-apache-kafka/[as described here].
3450-
This new behavior was added in versions 1.3.7, 2.0.6, 2.1.10, and 2.2.0.
3451-
If you wish to revert to the previous behavior, you can set the `producerPerConsumerPartition` property on the `DefaultKafkaProducerFactory` to `false`.
3447+
The `transactional.id` property of each producer is `transactionIdPrefix` + `n`, where `n` starts with `0` and is incremented for each new producer.
3448+
In previous versions of Spring for Apache Kafka, the `transactional.id` was generated differently for transactions started by a listener container with a record-based listener, to support fencing zombies, which is not necessary any more, with `EOSMode.V2` being the only option starting with 3.0.
3449+
For applications running with multiple instances, the `transactionIdPrefix` must be unique per instance.
34523450

34533451
Also see <<exactly-once>>.
34543452

0 commit comments

Comments
 (0)