Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-9615

Savepoint (Partial) rollback not handled correctly for tables with LOB columns

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False

      When we see the INSERT and UPDATE for ID=11, those will be merged, but the LOB consolidation process only focuses on the column values, not the event metadata, so the UPDATE is folded into the INSERT, and the INSERT is left with a ROW_ID of all As.
      And then when the ROLLBACK=1 is seen, we walk back through the transaction trying to find the event that we should discard by ROW_ID, but given that the UPDATE was folded into the INSERT and the INSERT only has a ROW_ID that is all As, we don't find a match, so we log a "Cannot undo ...." warning, and the event shows up in the target and isn't deleted/discarded; leading to a desync from source/sink.
      When we fold UPDATE into INSERTs, we should update the ROW_ID reference if the're different and INSERT has the default dummy all As ROW_ID.

      In our case in sink we see all the inserts/updates

              ccranfor@redhat.com Chris Cranford
              nickolay.k Nikolay Kozlov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: