The Savepoint That Grew Until It Killed Itself: Reproducing a Kafka Connector Migration OOM
How a one-line connector swap silently poisoned a savepoint, why raising heap memory only bought time, and what it took to cut the stale state out.
Technical articles on stream processing, Apache Flink, architecture, and the internals that power real-time data platforms.
How a one-line connector swap silently poisoned a savepoint, why raising heap memory only bought time, and what it took to cut the stale state out.
Savepoints vs checkpoints in Apache Flink: how they differ in objective, implementation and lifecycle, and when to use a savepoint in your streaming application.
Step by step: how the Flink Kafka source stores partition offsets in checkpoints, how barriers keep operator state consistent, and how offsets are restored after a failure.
How Apache Flink combines checkpoints with a two-phase commit protocol to deliver end-to-end exactly-once semantics with Apache Kafka transactions.
How Apache Flink incremental checkpoints work with RocksDB: only new SST files are uploaded, a shared state registry counts references, and old files are pruned.
Streaming fault-tolerance architectures compared (record acks, micro-batching, transactional updates, distributed snapshots), with Flink vs Storm throughput and latency benchmarks.