State of Grace: Transactional State Stores and the End of EOS Recovery Pain in Kafka Streams
Bill Bejeck, Confluent
Wed, Nov 4, 1:00–1:45 PMRoom 2002
For years, exactly-once Kafka Streams applications have carried a hidden tax: when a task crashes or a transaction times out, Streams can't trust its local state, so it wipes every state store and rebuilds it from the changelog topic. For large stores, that "wipe-and-rebuild" can take hours — or even days — turning a momentary blip into a prolonged outage.
This talk explains how two KIPs working in tandem eliminate that tax. KIP-1035 moves changelog offsets out of the fragile external .checkpoint file and into the state store itself, persisting them atomically alongside the data in a dedicated RocksDB column family. KIP-892 builds on that foundation, buffering writes and committing data and offsets in a single atomic operation. On failure, the uncommitted buffer is simply discarded — the on-disk state already matches the last committed offset, so there is nothing to rebuild.
We'll go under the hood: discussing new APIs, atomic flush, read-your-writes isolation levels, new configurations for memory-pressure control, and what all this means for custom state store implementations.
The payoff is concrete and operational. You'll learn how recovery time drops from hours to seconds and how atomic offset+data writes close long-standing EOS correctness gaps. We'll connect each change to real production pain — rebalancing storms, restoration waits, and corrupted checkpoints.
You'll leave knowing what changes in your application, which configurations to reach for, what custom stores must implement, and which versions deliver these improvements — so you can turn EOS from an expensive guarantee into a fast, dependable default.
Speaker
-
Bill Bejeck
Staff Software Engineer, Confluent
Bill is a software engineer with more than 20 years of experience. He is also a committer and PMC member of Apache Kafka®, and currently, he works at Confluent as an engineer on the Kafka Streams team. Before joining Confluent, he worked as a U.S. Government contractor on various ingest applications using distributed software such as Apache Kafka, Apache Spark®, and Apache Hadoop®. Bill is also the author of the book "Kafka Streams in Action," which has a 2nd edition published in April 2024.