Skip to content

CDC Operations

This page covers the operational side of CDC: what to monitor, what restart means, and where retention can break an otherwise correct pipeline.

What to monitor

  • Source lag -- is the source resume position continuing to advance?
  • Destination apply rate -- can the destination keep up with the incoming mutation volume?
  • Retention window -- will the source still retain the required log or stream history if the runner is down?
  • Schema and key validation -- do business keys and expected columns still match the source?

Restart expectations

  • If the runner stops after a committed change batch, restart resumes from the last committed ownership point.
  • If failure happens before commit, the source may be reread, but final-state destinations remain idempotent because reconciliation happens on apply.
  • A healthy restart still depends on retention: the source must still have the WAL, binlog, stream, or topic data needed to resume.

Retention checklist by source

SourceOperational requirement
PostgreSQLLogical replication slot must not fall behind so far that required WAL is removed
MySQLBinlog retention must cover your worst-case outage window
MongoDBOplog window must cover your worst-case outage window
DynamoDBStream retention must be long enough for expected downtime and catch-up
KafkaTopic retention and consumer-group offsets must outlive the outage window

Backfill vs resume

  • Resume -- use a normal restart when you want to continue from the last committed ownership point.
  • Backfill -- reset or create a new project when you want to rebuild from scratch.
  • Contract changes -- if business keys or reconciliation assumptions change, treat that as a migration rather than an ordinary restart.

Common warning signs

SymptomLikely cause
Lag keeps growingDestination apply path is slower than source change volume
Resume fails after downtimeSource retention expired before the runner came back
Deletes appear wrongBusiness keys or tombstone assumptions are incorrect
CDC starts but stops at startup validationSource and destination capabilities do not support the requested contract

Where to go next