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

Add a locking mode which doesn't conflict with DML and existing reads on Percona Server

    XMLWordPrintable

    Details

      Description

      When using the default SnapshotLockingMode, the FLUSH TABLES WITH READ LOCK statement must wait for all existing reads and writes to finish. While it's attempting to obtain that lock, new SELECT queries are blocked.

      In our use of Debezium we read from dedicated read-only replicas, but we are sharing those replicas with traditional ETL jobs which run long running SELECT * FROM table WHERE <window> queries, which either block Debezium's MySQL extractor, or are blocked by it.

      This issue (affecting all MySQL derivatives) is documented on the Percona Blog. An alternative locking type, which is specific to the Percona Server fork, is documented here.

      MariaDB implements a similar feature with a different syntax.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            insomnike Aaron Brady
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: