-
Bug
-
Resolution: Done
-
Major
-
0.9.5.Final, 1.0.4.Final, 1.1.2.Final, 1.2.1.Final
-
None
After upgrading from postgresql 9.6, decoderbufs/debezium 0.7.5 to postgresql 12.3, decoderbufs/debezium 1.1.2.Final we began to notice data loss when the debezium process was restarted while a transaction was open. For example:
- Start debezium process
- Begin transaction T
- Insert record A inside transaction T
- Insert record X outside transaction T
- Stop debezium process
- Insert record B inside transaction T
- Insert record Y outside transaction T
- Start debezium process
- Insert record C inside transaction T
- Insert record Z outside transaction T
- Commit transaction T
- Observe that record A has been dropped from the CDC stream.
NOTE: `shouldMessageBeSkipped` method in `io.debezium.connector.postgresql.connection.AbstractMessageDecoder` will log and return true when it sees the message for record A.
NOTE: We’ve also been able to confirm that the bug was introduced sometime on or before decoderbufs/debezium 0.9.5.Final
- relates to
-
DBZ-2338 LSNs in replication slots are not monotonically increasing
- Closed