Crashing DDL involving temp tables may result in an unbootable server
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS | Status tracked in 5.7 | |||||
5.1 |
Won't Fix
|
High
|
Unassigned | |||
5.5 |
Triaged
|
High
|
Unassigned | |||
5.6 |
New
|
High
|
Unassigned | |||
5.7 |
New
|
High
|
Unassigned |
Bug Description
Percona Server 5.5.24, if crashed at the right moment in the middle of InnoDB ALTER TABLE that uses temp tables, might result in the following on server restart:
120604 05:38:41 mysqld_safe Starting mysqld daemon with databases from /box/mysql/app
120604 5:38:41 [Note] Flashcache bypass: disabled
120604 5:38:41 [Note] Flashcache setup error is : ioctl failed
120604 5:38:41 InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
120604 5:38:41 InnoDB: The InnoDB memory heap is disabled
120604 5:38:41 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120604 5:38:41 InnoDB: Compressed tables use zlib 1.2.3
120604 5:38:41 InnoDB: Using Linux native AIO
120604 5:38:41 InnoDB: Initializing buffer pool, size = 244.0G
120604 5:38:59 InnoDB: Completed initialization of buffer pool
120604 5:39:00 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 191387032336
120604 5:39:01 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Error: trying to add tablespace 36 of name './db/#
InnoDB: to the tablespace memory cache, but tablespace
InnoDB: 36 of name './db/#
InnoDB: memory cache!
120604 05:39:02 mysqld_safe mysqld from pid file /path/to.pid ended
No test case. Have to find the right place to crash by code review and then construct a test case using crash injection.
This is similar to bug 999147, but the mode of failure is different, not a duplicate bug.