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

            Unassigned Unassigned
            insomnike Aaron Brady (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: