Change Data Capture Pipeline · View 13 of 21 · Runtime
The ordering rule
- The offset is committed after the sink write, never before. A crash in between replays the batch, which idempotence absorbs; the reverse loses rows silently (ADR-04).
- The applier groups a batch by key and keeps the highest log position, so a row changed five times in one batch is written once.
- Lag is computed from the source commit timestamp carried on the event, which is why the heartbeat exists (ADR-13).
Numbers
- p50 ≤ 2 s, p95 ≤ 5 s, p99 ≤ 15 s end to end; lag over 60 s for 5 minutes on a tier-1 table pages.
- Capture adds ≤ 5% source CPU and ≤ 10% to p99 source write latency (assumption, and a budget the snapshot path yields to).
Risks
- A transform exception on a single event can stall a partition if the retry budget is unbounded; the dead letter is the release valve.
- The acknowledged commit to the product service is independent of this flow — nothing here can make a user's write slower, which is the whole point.