The biggest CDC rewrite we've shipped
Resumable snapshots, an offset editor with backup and restore, chunked parallel snapshots, and AS400 work that has no equivalent in stock Debezium.
CDC demos never fail. Production CDC fails at hour nine of an eleven-hour initial snapshot, on the table nobody wanted to reload.
The last two releases rewrote the parts that break, all of it about one question: what happens after something goes wrong.
Snapshots that resume
An interrupted initial snapshot used to mean starting over. On a large source that is a lost weekend.
Resumable full snapshot is on by default. During the initial snapshot the connector records completed tables in a progress file next to the offset. On restart it skips what finished, resumes the remainder, and picks up streaming from the log position captured at the original snapshot's start.
That last clause is the whole trick. Resuming from the restart position would miss every change made during the first attempt. Keeping the original position and skipping completed tables gives you neither a gap nor a replay. The setting is Resume interrupted full snapshot; the property is debezium.resume.full.snapshot.
Resumable ad-hoc snapshots apply the same idea to blocking ad-hoc runs, replaying only the incomplete part rather than falling back to a full snapshot of every monitored table.
Both work across MySQL, PostgreSQL, SQL Server, Oracle, DB2, AS/400, and MongoDB.
An offset editor that is a recovery tool
CDC offsets are the most dangerous files in the system. They decide where reading resumes, and editing them used to mean stopping everything and hand-editing JSON on disk.
The offset editor is reachable from the CDC connection editor, Explorer, and the CDC flow editor, and it does more than edit:
- It writes a zip backup of offset, history, and known snapshot sidecar files before every mutating action. Not on request. Every time.
- It restores from those backups and from automatic backups written by the flow's Offset Backup connection.
- Reset CDC State destructively clears CDC state behind a double confirmation, having already written a recoverable backup.
- While a CDC flow runs, every mutation is disabled in the UI and rejected by the backend, so you cannot edit the file the runtime holds.
- Tokenized paths like
{connection_name}and{app.data}resolve against the flow context, so the editor reads the same files the runtime does.
"Start reading from a different point in the log" became a supported operation with an undo.
Chunked parallel snapshots
One enormous keyed table used to set the floor on snapshot time: a single thread handled it while everything else waited.
A large keyed table now splits into non-overlapping key ranges snapshotted by multiple threads, on Oracle, SQL Server, AS400/IBM i, MySQL, and PostgreSQL. Parallel snapshot also now covers MongoDB with correct isolation across workers.
Parallelism is not free. More threads means more load on a source database that is also serving production traffic, so the right number is the one your DBA tolerates, not the maximum.
AS400 and IBM i
Most CDC tooling treats AS400 as a second-class source, which is strange given how much operational data still lives there.
Key AS400/IBM i CDC properties are now configurable in the connection UI instead of requiring raw property overrides, and both chunked parallel snapshots and resumable snapshots cover AS/400. When SYSIBM.SQLCOLUMNS is not accessible, common on hardened installations, the metadata reader falls back to alternative catalog queries so flow design still works.
SQL Server changed too: CDC pulls directly from the change tables by default, with the generated functions kept as a fallback.
What stock Debezium does not give you
We build on Debezium and contribute to that ecosystem, so this is about scope rather than quality.
Debezium has incremental snapshots based on the DBLog approach, and they are good. It does not ship a resumable full snapshot that skips completed tables and resumes from the original snapshot position; an offset editor with automatic pre-mutation backups, restore, and a guarded reset; chunked parallel snapshots of a single keyed table; or the AS400/IBM i work above. Those are the pieces we wrote, because customers hit the gaps.
Before your next maintenance window: turn on resumable full snapshot, confirm your CDC flows have an Offset Backup connection, and run suspend-flows from the host CLI before the backup.