Lesson 15 · Senior CDC practice
Snapshots, backfills, and replication-slot safety
How to reason about initial vs incremental snapshot behavior, backfill safety, and the operational importance of updating a source connector without losing its slot.
Your win: explain why adding a table safely is really a slot-preservation story, and how incremental snapshots turn a risky reconfiguration problem into a controlled backfill path.
Why this lesson is really about continuity
People often hear “snapshot” and think the topic is mostly about historical rows. That is only half the story. The stronger operational lesson is about continuity: how do you backfill the rows you missed without breaking the live capture path you already trust?
The earlier CDC lessons are good because they keep connecting mechanism to consequence. This page should be read the same way. The mechanism is incremental snapshot. The consequence is that you can add capture scope without casually risking slot continuity.
Why source recreation is the wrong instinct
At a glance, recreating a connector can feel symmetrical. Change config, recreate, move on. But source connectors and sink connectors are not equally risky. A sink is an applier of derived state. A source is the continuity anchor into the WAL.
That asymmetry is the whole point. Once you see it clearly, the repo’s update-plus-signal path starts looking less like an implementation quirk and more like the right operational design.
What incremental snapshot is buying in practice
It is easy to explain incremental snapshot as “load old rows for a new table.” That is true, but still incomplete. The stronger explanation is that it lets you do that backfill while keeping the running source path intact.
That is why this topic belongs in the senior part of the course. It is not only about feature support. It is about operational judgment under change.
dbz_signals, IncrementalSnapshot, and the hephaestus update path work together so a new table can be captured and backfilled without throwing away the replication slot.
Signals and backfills together
Revisit Debezium signalling and the repo’s snapshot code so the backfill story stays tied to the slot-safety story.
Check yourself (from memory)
Q1. Why is update-plus-incremental-snapshot safer than recreating the source connector?
Sources. Debezium signalling docs; repo CDC map.