conduktor.io ↗

transaction.timeout.ms — Kafka Producer Configuration

The maximum amount of time in milliseconds that a transaction will remain open before the coordinator proactively aborts it. The start of the transaction is set at the time that the first partition is added to it.

Description

The maximum amount of time in milliseconds that a transaction will remain open before the coordinator proactively aborts it. The start of the transaction is set at the time that the first partition is added to it. If this value is larger than the transaction.max.timeout.ms setting in the broker, the request will fail with a InvalidTxnTimeoutException error.

Default Values by Kafka Version

Kafka VersionDefault Value
0.11.060000
1.060000
1.160000
2.060000
2.160000
2.260000
2.360000
2.460000
2.560000
2.660000 (1 minute)
2.760000 (1 minute)
2.860000 (1 minute)
3.060000 (1 minute)
3.160000 (1 minute)
3.260000 (1 minute)
3.360000 (1 minute)
3.460000 (1 minute)
3.560000 (1 minute)
3.660000 (1 minute)
3.760000 (1 minute)
3.860000 (1 minute)
3.960000 (1 minute)
4.060000 (1 minute)
4.160000 (1 minute)
4.260000 (1 minute)

Tuning Recommendation

ProfileRecommendedWhy
producer / durability60000The 60s default is appropriate: it gives sufficient time for a legitimate transaction spanning multiple partition writes to complete, while ensuring a crashed producer's open transaction is fenced and aborted before consumer lag grows unbounded.

Related Configs

transactional.id · delivery.timeout.ms

Manage Kafka configs across all your clusters with Conduktor Console — view, compare, and update configurations in one place.