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

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 1.3.0.Beta2
    • None
    • mysql-connector
    • None

      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.

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

                Created:
                Updated:
                Resolved: