-
Bug
-
Resolution: Done
-
Major
-
3.0.7.Final, 3.1.0.Alpha1
-
None
-
False
-
None
-
False
-
-
When the connector is configured by default (lob.enabled = false), we record transactions lazily, which means only when the first relevant DML event is observed is a transaction constructed in the buffer. This is done as a memory optimization.
However, this presents a unique issue when COMMIT events related to a transaction that do not perform any relevant DML events is observed in the transaction logs. In such cases, Oracle tends to assign this COMMIT with 0 for the THREAD#.
To avoid this issue, which causes odd commit_scn values in the offsets with the redo thread number of 0, we should consider skipping any COMMIT marker that:
- Has no events in the event buffer
- Has a thread# assigned with a value of 0
All other commits should be recorded in the offsets.
Reference: Zulip conversation started - https://debezium.zulipchat.com/#narrow/channel/348250-community-oracle/topic/Understanding.20ehcache.20configuration/near/499023259