Zalando contributed two features to Debezium to solve WAL growth issues in PostgreSQL logical replication at scale. The first contribution introduced an opt-in `lsn.flush.mode` configuration to prevent WAL accumulation on low-activity databases. The second added `offset.mismatch.strategy` to handle conflicts between stored offsets and replication slot positions, enabling safer operation with durable offset stores. These features allow users to trust the replication slot position when appropriate, preventing unnecessary full re-syncs and enabling recovery from corrupted WAL segments.
Table of contents
The WAL Growth Problem ReturnsDebezium Disables the FixFirst Contribution: Make It Opt-InUnderstanding Why We're DifferentThe Real Problem: When the Slot and Offset DisagreeSecond Contribution: Trust the SlotA Note of GratitudeWhat This Means for YouSort: