SpringSpring Kafka Configuration
What is spring.kafka.consumer.isolation-level and when do you need it?
Reference answer
spring.kafka.consumer.isolation-level=read_committed makes the consumer skip messages from aborted transactions and wait for in-flight (open) transactions to complete/abort before consuming them. This is required when consuming output from transactional producers to get exactly-once read semantics. Default is read_uncommitted — consumers see all messages including those from aborted transactions (transaction markers appear as empty records). Set read_committed only when you're consuming from topics that transactional producers write to.
Expected key concepts: isolation-level, read_committed, aborted transactions, in-flight, open transactions, exactly-once, read_uncommitted, transaction markers, transactional producers