-
Bug
-
Resolution: Can't Do
-
Major
-
None
-
1.5.0.Final
-
None
-
False
-
False
-
Undefined
-
-
If a Postgres table is created immediately after Debezium is configured via its REST API, the table is supposed to be either:
A. picked as part of the initial snapshot
B. detected subsequently and replicated
However, sometimes neither of those two things happen and what happens is:
C: the table is not replicated at all.
There will be no logs messages referencing this table and no schema registry entry will be created.
In case of A, we have the following entry in the log:
INFO Postgres|postgres|postgres-connector-task Snapshot step 3 - Locking captured tables [public.alter_drop_column_not_null] [io.debezium.relational.RelationalSnapshotChangeEventSource]
In case of B, we have the following sequence:
2021-05-11 08:34:17,937 INFO Postgres|postgres|postgres-connector-task Snapshot step 3 - Locking captured tables [] [io.debezium.relational.RelationalSnapshotChangeEventSource] ... but then ... 2021-05-11 08:34:27,667 INFO Postgres|postgres|postgres-connector-task Message with LSN 'LSN{0/1651308}' arrived, switching off the filtering [io.debezium.connector.postgresql.connection.WalPositionLocator] 2021-05-11 08:34:27,680 WARN Postgres|postgres|postgres-connector-task Primary keys are not defined for table 'alter_drop_column_not_null', defaulting to unique indices [io.debezium.connector.postgresql.connection.pgoutput.PgOutputMessageDecoder]
In the case of C, the logs report the following:
INFO Postgres|postgres|postgres-connector-task Snapshot step 3 - Locking captured tables [] [io.debezium.relational.RelationalSnapshotChangeEventSource] ... but then ... INFO Postgres|postgres|postgres-connector-task Retrieved latest position from stored offset 'LSN{0/1668AD0}' [io.debezium.connector.postgresql.PostgresStreamingChangeEventSource] INFO Postgres|postgres|postgres-connector-task Looking for WAL restart position for last commit LSN 'null' and last change LSN 'LSN{0/1668AD0}' [io.debezium.connector.postgresql.connection.WalPositionLocator] INFO Postgres|postgres|postgres-connector-task Initializing PgOutput logical decoder publication [io.debezium.connector.postgresql.connection.PostgresReplicationConnection] INFO Postgres|postgres|postgres-connector-task Obtained valid replication slot ReplicationSlot [active=false, latestFlushedLsn=LSN{0/1651E50}, catalogXmin=573] [io.debezium.connector.postgresql.connection.PostgresConnection] INFO Postgres|postgres|postgres-connector-task Connection gracefully closed [io.debezium.jdbc.JdbcConnection] INFO Postgres|postgres|postgres-connector-task REPLICA IDENTITY for 'public.alter_drop_column_not_null' is 'DEFAULT'; UPDATE and DELETE events will contain previous values only for PK columns [io.debezium.connector.postgresql.PostgresSchema] INFO Postgres|postgres|postgres-connector-task Searching for WAL resume position [io.debezium.connector.postgresql.PostgresStreamingChangeEventSource]
and that is all, no further progress is made replicating that table.