Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.9
-
None
-
10.0.34
Description
The mariabackup option --lock-ddl-per-tables does not cover the tables that InnoDB internally creates for FULLTEXT INDEX.
--source include/have_debug.inc
|
|
echo # xtrabackup backup;
|
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
|
|
CREATE TABLE t1 (id INT, name VARCHAR(50), purchased DATE, FULLTEXT INDEX(name)) ENGINE INNODB; |
|
--disable_result_log
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --lock-ddl-per-table=1 --dbug=+d,check_mdl_lock_works; |
--enable_result_log
|
DROP TABLE t1; |
rmdir $targetdir;
|
Because the internally created tables do not exist in the server data dictionary, the attempt to acquire MDL will fail:
170917 10:30:07 Locking MDL for `test`.`FTS_0000000000000013_000000000000001c_INDEX_6`
|
Error: failed to execute query SELECT * FROM `test`.`FTS_0000000000000013_000000000000001c_INDEX_6` LIMIT 0: Table 'test.FTS_0000000000000013_000000000000001c_INDEX_6' doesn't exist
|
Furthermore, the internal tables are not protected by MDL inside InnoDB.
The proper course of action would be to acquire MDL on the user table that is associated with the internal table. This is possible, because the internal table name includes the table_id of the user table.
Attachments
Issue Links
- is caused by
-
MDEV-13563 lock DDL for mariabackup in 10.2+
- Closed
- relates to
-
MDEV-22250 InnoDB: Failing assertion: opt_no_lock during mariabackup --backup ... (new)
- Open
-
MDEV-31904 mariabackup --backup: [ERROR] InnoDB: File ./test/FTS_...._INDEX_4.ibd: 'open' returned OS error 71
- Open