Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Feb 2025. Adding additional configs to address a performance issue KAFKA-18654. During the transaction commit phase, it is normal to find CONCURRENT_TRANSACTION error when adding partitions to the transaction, because it takes some time for the markers to be fully propagated to all the data partitions. On the other hand, the client no longer sends the AddPartitionToTxn directly to the transaction coordinator, instead, the server sends the request as a part of the Produce/TxnOffsetCommit request handling. This new behavior causes the client to retry expensive produce requests during the transaction commit phase. So, we decided to let the server retry the AddPartitionToTxn when hitting the CONCURRENT_TRANSACTION. Then, the following 2 configs are used to control the retry.

  • add.partitions.to.txn.retry.backoff.max.timeout.ms defines the maximum retry timeout when the server attempts to add the partition to the transaction.
  • add.partitions.to.txn.retry.backoff.ms defines how frequently the server will retry the AddPartitionToTxn.

...