Root cause
Debezium cannot decode a change event because it lacks the DDL history for that table. Causes: (1) the schema history topic was compacted or expired, (2) a new table was added to table.include.list after the initial snapshot, (3) the connector name was changed (new offset key, empty schema history).
How to fix
- Ensure the schema history topic has retention.ms=-1 and cleanup.policy=delete (never compact).
- For a newly added table: trigger an incremental snapshot via the Debezium signals table.
- If schema history is corrupted: set snapshot.mode=recovery to rebuild it from the live database.
- Check that schema.history.internal.kafka.topic is unique per connector — sharing topics causes this.
⚠ This error stops the connector. Debezium cannot skip an event for an unknown table — it must know the full DDL history to decode binary log events.
Official Debezium documentation ↗