isolation.level — Kafka Consumer Configuration
Controls how to read messages written transactionally. If set to read_committed, consumer.
Description
Controls how to read messages written transactionally. If set to read_committed, consumer.poll() will only return transactional messages which have been committed. If set to read_uncommitted (the default), consumer.poll() will return all messages, even transactional messages which have been aborted. Non-transactional messages will be returned unconditionally in either mode.
Default Values by Kafka Version
| Kafka Version | Default Value |
|---|---|
| 0.11.0 | read_uncommitted |
| 1.0 | read_uncommitted |
| 1.1 | read_uncommitted |
| 2.0 | read_uncommitted |
| 2.1 | read_uncommitted |
| 2.2 | read_uncommitted |
| 2.3 | read_uncommitted |
| 2.4 | read_uncommitted |
| 2.5 | read_uncommitted |
| 2.6 | read_uncommitted |
| 2.7 | read_uncommitted |
| 2.8 | read_uncommitted |
| 3.0 | read_uncommitted |
| 3.1 | read_uncommitted |
| 3.2 | read_uncommitted |
| 3.3 | read_uncommitted |
| 3.4 | read_uncommitted |
| 3.5 | read_uncommitted |
| 3.6 | read_uncommitted |
| 3.7 | read_uncommitted |
| 3.8 | read_uncommitted |
| 3.9 | read_uncommitted |
| 4.0 | read_uncommitted |
| 4.1 | read_uncommitted |
| 4.2 | read_uncommitted |
Tuning Recommendation
| Profile | Recommended | Why |
|---|---|---|
| consumer / latency | read_uncommitted | Keep isolation.level at read_uncommitted for latency-sensitive consumers: read_committed adds latency because the consumer must wait for the producer's transaction to be committed before delivering transactional records. Unless your producer uses transactions, read_committed adds unnecessary lag. |
| consumer / durability | read_committed | read_committed ensures the consumer only receives records that belong to committed transactions. Aborted transactional records are filtered at the broker and never delivered to the consumer. This is the only safe mode when consuming from producers using Kafka transactions, preventing processing of data that the producer intended to roll back. |
Related Configs
enable.auto.commit · auto.offset.reset
Manage Kafka configs across all your clusters with Conduktor Console — view, compare, and update configurations in one place.