Skip to content
Vol. I · No. 251
Mon · 8 Jun
A Daily Lexicon of Trustworthy Data
No. 250
250·06 · Definition DriftNo. 250 · 30 May 2026 · 2 min

The Schema History Topic Remembers What Nobody Wrote Down

Debezium 3.0 ships a connector that refuses to guess. The org still guesses.

PromotedThe EditorThe Controlled Term

Change data capture promises the database's truth, streamed live. It delivers the database's truth and, separately, the unanswered question of whether anyone agreed on what the columns mean.

On October 2, 2024, the Debezium project released 3.0.0.Final, the long-running open-source change data capture engine that turns database commit logs into event streams for MySQL, Postgres, Oracle, and others. The release raised the runtime baseline to Java 17, moved onto Kafka 3.8, and removed the deprecated additional-condition field, asking everyone to update their scripts and workflows accordingly.

The detail worth dwelling on is older and quieter: Debezium keeps a schema history topic, and reads it so it applies the correct schema to each captured row. Per its own docs, if a schema is not present in that history, the connector is unable to capture the table, and an error results. The tool will not invent a definition. It would rather stop than lie about what a column was.

That is a remarkable standard, and it is held by the connector, not the company. The software refuses to emit a row whose shape it cannot account for. The organization downstream has no such scruple: it will happily wire dashboards, alerts, and a quarterly metric onto a freshly streamed field that three teams describe three different ways. The pipeline preserves provenance to the byte. The meaning was never written down to preserve.

Watch what happens the first time a source table adds a column at 2 a.m. and the stream carries it instantly. The latency graph stays flat and green. The new field arrives correct, on time, and completely undefined. Real-time did its job. The question of what "correct" means for that column is now a ticket, and the ticket is slower than the stream by several orders of magnitude.

The takeaway

If your CDC engine won't capture a table without a known schema, that's the bar. Apply the same refusal to the meaning, not just the shape, before the field is live.

The claim, mapped
  1. Debezium 3.0.0.Final was released October 2, 2024, requiring Java 17 and built on Kafka 3.8.

    supports01
  2. The 3.0 release removed the deprecated additional-condition field (DBZ-8278).

    supports01
  3. If a table's schema is not present in the schema history topic, the connector cannot capture the table and errors out.

    supports02
  4. CDC tooling preserves the shape of data precisely but does not establish or preserve the agreed meaning of fields.

    context0102
Sources
01
Debezium — Debezium 3.0.0.Final Released2024-10-02 · Tier 1 · primaryDebezium 3.0.0.Final Released October 2, 2024. Java 17 is required. Built on Kafka 3.8. The old additional-condition field has been removed and is no longer supported (DBZ-8278).
02
Debezium — Debezium connector for MySQL — Schema history topic2024-10-02 · Tier 1 · primaryWhen Debezium captures data from a table, it reads the schema history to apply the correct schema to each event. If the schema is not present in the schema history topic, the connector is unable to capture the table.
Mark this entry
Marginalia · 0 notes

No notes yet. The margin is open.

Sign in to add a note. The margin is moderated — we keep it useful, not cruel.

Related entries
Definition Drift
The data contract grew up. It stopped being a schema and started being a governance control.

An engineering convenience became a control point. A control point needs a controller.

Definition Drift
Your Pipeline Learned to Call Yesterday's Breakage Normal

Anomaly detection now defines 'good' for you. It defines it as 'whatever usually happens.'

Definition Drift
Everyone Agreed on the YAML. Nobody Agreed on the Owner.

A real standard for data contracts now exists. The argument it was supposed to settle has simply moved up a layer.