Details
-
Bug
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
10.4.6
Description
Problem found during RQG testing with Mariabackup.
|
|
1. Connection con_backup executes
|
BACKUP STAGE START;
|
BACKUP STAGE FLUSH;
|
2. Some observing connection "sees"
|
CONNECTION DB COMMAND STATE INFO STAGE MAX_STAGE PROGRESS EXAMINED_ROWS INFO_BINARY
|
con_backup test Sleep NULL 0 0 0.000 0 NULL
|
con_ddl test Sleep NULL 0 0 0.000 0 NULL
|
CONNECTION LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
con_backup MDL_BACKUP_FLUSH Backup lock
|
3. Connection con_ddl sends to the server a
|
ALTER TABLE t1 COMMENT = " <some value> "
|
t1 uses the storage engine MyISAM.
|
I assume the problem is valid for storage engines which do not offer atomic statements.
|
At least neither InnoDB nor Aria showed the bad effect.
|
4. The connection con_observer waits some seconds so that con_ddl can do as much as it could
|
do in the moment and "sees"
|
CONNECTION DB COMMAND STATE INFO STAGE MAX_STAGE PROGRESS EXAMINED_ROWS INFO_BINARY
|
con_backup test Sleep NULL 0 0 0.000 0 NULL
|
con_ddl test Query Waiting for backup lock ALTER TABLE t1 COMMENT = " 5 " 0 0 0.000 0 ALTER TABLE t1 COMMENT = " 5 "
|
CONNECTION LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
con_backup MDL_BACKUP_FLUSH Backup lock
|
con_ddl MDL_SHARED_UPGRADABLE Table metadata lock test t1
|
con_ddl MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
con_ddl MDL_BACKUP_DDL Backup lock
|
5. Now the connection con_backup issues a
|
BACKUP STAGE BLOCK_DDL ;
|
which harvests immediate a
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
|
Please use the uploaded ml31_M.test for replaying that problem.
|
|
MariaDB
|
10.4.6 commit 592fe954ef82be1bc08b29a8e54f7729eb1e1343
|
|
MariaDB Enterprise
|
10.3.16 commit 2da55440ee4c83219b030b1f217f5c273a2541e8
|
10.2.25 commit fd21ff94a2136f4c1ebb896987b7607b1d161cad
|
|
MariaDB (non enterprise) 10.3.15 is not affected because it does not support BACKUP STAGE ...
|
Attachments
Issue Links
- blocks
-
MDEV-18213 Unexpected ER_LOCK_DEADLOCK upon BACKUP STAGE BLOCK_COMMIT
- Open