Agenda

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

Data StreamingAdvancedBreakout session

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

Also on at this time

Add to calendar

Google Calendar Outlook.com Outlook (work or school) Apple Calendar (.ics)