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

JdbcOffsetBackingStore does not release lock of debezium_offset_storage gracefully

XMLWordPrintable

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      We use the Postgres and Oracle Connector of the final Debezium version 3.0.2.

      What is the connector configuration?

      offset.storage: io.debezium.storage.jdbc.offset.JdbcOffsetBackingStore
       

      What is the captured database version and mode of deployment?

      We use the postgres version 15.4 on-premises. Furthermore we use the debezium embedded engine.

      What behavior do you expect?

      After the start of the JdbcOffsetBackingStore is done, there is no Lock on the Table debezium_offset_storage.

      What behavior do you see?

      The load() function of the JdbcOffsetBackingStore leads to, that the database lock is not released.

      Following query can be used to see on which table a lock exists:

      SELECT l.locktype, l.database, l.relation, c.relname AS table_name, l.pid, l.mode, l.granted
      FROM pg_locks l
      JOIN pg_class c ON l.relation = c.oid
      WHERE l.locktype = 'relation';

      How to reproduce the issue using our tutorial deployment?

      It is easy reproducible, when using the JdbcOffsetBackingStore. As well we observed, that adding a commit to the load() function, would release the Database Lock. Alternatively the property offset.flush.interval.ms can be set to 0, which will ensure a commit after each event. 

       

              Unassigned Unassigned
              timo.schmidt Timo Schmidt
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: