xtrabackup: race condition when trying to open an already removed tablespace
Bug #713799 reported by
Alexey Kopytov
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraBackup moved to https://jira.percona.com/projects/PXB |
Fix Released
|
High
|
Alexey Kopytov |
Bug Description
There is a possible race condition in xtrabackup when a table is dropped after the corresponding tablespace path has already been read from the tablespace memory cache, so xtrabackup fails with an InnoDB assertion failure in fil_node_
Related branches
lp:~percona-dev/percona-xtrabackup/lp713799
- Yasufumi Kinoshita (community): Approve
- Percona developers: Pending requested
-
Diff: 666 lines (+359/-40)4 files modifiedfix_innodb_for_backup55.patch (+114/-10)
fix_innodb_for_backup_5.1_plugin.patch (+115/-10)
fix_innodb_for_backup_percona-server.patch (+105/-10)
xtrabackup.c (+25/-10)
lp:~percona-dev/percona-xtrabackup/lp713799_test
- Alexey Kopytov (community): Approve
-
Diff: 77 lines (+43/-1)3 files modifiedtest/experimental/xb_race_drop.sh (+15/-0)
test/inc/common.sh (+25/-0)
test/run.sh (+3/-1)
Changed in percona-xtrabackup: | |
status: | New → Fix Committed |
importance: | Undecided → High |
assignee: | nobody → Alexey Kopytov (akopytov) |
Changed in percona-xtrabackup: | |
milestone: | none → 1.6 |
Changed in percona-xtrabackup: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The race leads to an InnoDB assertion failure when a table is dropped during XtraBackup run.
Symptoms:
110206 12:25:09 InnoDB: Operating system error number 2 in a file operation. bugs.mysql. com. dev.mysql. com/doc/ refman/ 5.1/en/ forcing- recovery. html innobackupex- 1.5.1 line 534.
InnoDB: The error means the system cannot find the path specified.
110206 12:25:09 InnoDB: Fatal error: cannot open ./test/test.ibd
.InnoDB: Have you deleted .ibd files under a running mysqld server?
110206 12:25:09 InnoDB: Assertion failure in thread 46984453581056 in file fil/fil0fil.c line 669
InnoDB: Failing assertion: 0
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://
InnoDB: about forcing recovery.
innobackupex-1.5.1: Error: ibbackup child process has died at /usr/bin/