-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
False
-
None
-
False
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.