-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
-
False
-
None
-
False
Feature request or enhancement
For feature requests or enhancements, provide this information, please:
Which use case/requirement will be addressed by the proposed feature?
When a MySQL connector is configured with
"snapshot.locking.mode": "minimal_percona"
users expect LOCK TABLES FOR BACKUP to be used.
The desired behaviour is to allow other transactions to continue their work and not block DML (INSERT, UPDATE, DELETE) operations and not require an exclusive metadata lock. The fall back to 'FLUSH TABLE <tableName> WITH READ LOCK' breaks the minimal locking contract.
In the worst case FLUSH TABLES WITH READ LOCK causes deadlocks due to Metadata Locks conflicts.
The desired behaviour is to fail the connector and retry after the root cause of failing to acquiring a global lock is addressed.
Implementation ideas (optional)
Throw exception in the table lock fallback path if minimal locking is enabled