call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was"); call mtr.add_suppression("table .* does not exist in the InnoDB internal"); call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table "); # Test crash recovery in fast_alter_partition_table. # # Bug#53676: Unexpected errors and possible table corruption on # ADD PARTITION and LOCK TABLE # Bug#53770: Server crash at handler.cc:2076 on LOAD DATA # after timed out COALESCE PARTITION # Extended crash recovery testing of fast_alter_partition_table. call mtr.add_suppression("Attempting backtrace. You can use the following information to find out"); call mtr.add_suppression("Crashing at"); call mtr.add_suppression("Failing at"); flush tables; # Iterating 17 crash-points set @save_dbug= @@debug_dbug; # Crash-point 1: crash_add_partition_1 set @@debug_dbug= "+d,crash_add_partition_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_1: AFTER crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_add_partition_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 2: crash_add_partition_2 set @@debug_dbug= "+d,crash_add_partition_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_2: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_add_partition_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 3: crash_add_partition_3 set @@debug_dbug= "+d,crash_add_partition_3"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_3: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_3: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_add_partition_3: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 4: crash_alter_partition_alloc_parts set @@debug_dbug= "+d,crash_alter_partition_alloc_parts"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_alloc_parts: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_alter_partition_alloc_parts: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_alloc_parts: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 5: crash_alter_partition_add set @@debug_dbug= "+d,crash_alter_partition_add"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_add: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_alter_partition_add: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_add: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 6: crash_add_partition_4 set @@debug_dbug= "+d,crash_add_partition_4"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_4: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_4: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_add_partition_4: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 7: crash_add_partition_5 set @@debug_dbug= "+d,crash_add_partition_5"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_add_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 8: crash_add_partition_6 set @@debug_dbug= "+d,crash_add_partition_6"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_6: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_6: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_add_partition_6: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 9: crash_add_partition_7 set @@debug_dbug= "+d,crash_add_partition_7"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_7: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_7: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd # d,crash_add_partition_7: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 10: crash_add_partition_8 set @@debug_dbug= "+d,crash_add_partition_8"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_add_partition_8: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_add_partition_8: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_add_partition_8: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 11: crash_alter_partition_binlog_1 set @@debug_dbug= "+d,crash_alter_partition_binlog_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_binlog_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_alter_partition_binlog_1: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_binlog_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 12: crash_alter_partition_binlog_2 set @@debug_dbug= "+d,crash_alter_partition_binlog_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_binlog_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_alter_partition_binlog_2: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_binlog_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 13: crash_done_partition_1 set @@debug_dbug= "+d,crash_done_partition_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_done_partition_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_done_partition_1: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_done_partition_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB, PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)) DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 14: crash_done_partition_2 set @@debug_dbug= "+d,crash_done_partition_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_done_partition_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_done_partition_2: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_done_partition_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB, PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)) DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 15: crash_fail_partition_1,fail_add_partition_5, set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_fail_partition_1,fail_add_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 16: crash_fail_partition_2,fail_add_partition_5, set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 ADD PARTITION (PARTITION p15 VALUES IN (20,21,22,23,24)); # d,crash_fail_partition_2,fail_add_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Iterating 16 crash-points set @save_dbug= @@debug_dbug; # Crash-point 1: crash_drop_partition_1 set @@debug_dbug= "+d,crash_drop_partition_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_1: AFTER crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_drop_partition_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 2: crash_drop_partition_2 set @@debug_dbug= "+d,crash_drop_partition_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_2: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_drop_partition_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 3: crash_drop_partition_3 set @@debug_dbug= "+d,crash_drop_partition_3"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_3: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_3: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_drop_partition_3: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 4: crash_drop_partition_4 set @@debug_dbug= "+d,crash_drop_partition_4"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_4: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_4: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_drop_partition_4: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 5: crash_drop_partition_5 set @@debug_dbug= "+d,crash_drop_partition_5"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_drop_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 6: crash_alter_partition_rename_table set @@debug_dbug= "+d,crash_alter_partition_rename_table"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_rename_table: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_alter_partition_rename_table: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_rename_table: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 7: crash_drop_partition_6 set @@debug_dbug= "+d,crash_drop_partition_6"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_6: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_6: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_drop_partition_6: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 8: crash_drop_partition_7 set @@debug_dbug= "+d,crash_drop_partition_7"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_7: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_7: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd # d,crash_drop_partition_7: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 9: crash_drop_partition_8 set @@debug_dbug= "+d,crash_drop_partition_8"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_drop_partition_8: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_drop_partition_8: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_drop_partition_8: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 10: crash_alter_partition_binlog_1 set @@debug_dbug= "+d,crash_alter_partition_binlog_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_binlog_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_alter_partition_binlog_1: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_binlog_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 11: crash_alter_partition_binlog_2 set @@debug_dbug= "+d,crash_alter_partition_binlog_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_binlog_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_alter_partition_binlog_2: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_binlog_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 12: crash_done_partition_1 set @@debug_dbug= "+d,crash_done_partition_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_done_partition_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_done_partition_1: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_done_partition_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 13: crash_done_partition_2 set @@debug_dbug= "+d,crash_done_partition_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_done_partition_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_done_partition_2: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_done_partition_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 14: crash_fail_partition_1,fail_drop_partition_5, set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 15: crash_fail_partition_2,fail_drop_partition_5, set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 DROP PARTITION p10, p20; # d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Iterating 29 crash-points set @save_dbug= @@debug_dbug; # Crash-point 1: crash_change_partition_1 set @@debug_dbug= "+d,crash_change_partition_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_1: AFTER crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 2: crash_change_partition_2 set @@debug_dbug= "+d,crash_change_partition_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_2: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 3: crash_change_partition_3 set @@debug_dbug= "+d,crash_change_partition_3"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_3: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_3: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_3: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 4: crash_alter_partition_alloc_parts set @@debug_dbug= "+d,crash_alter_partition_alloc_parts"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_alloc_parts: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_alloc_parts: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_alloc_parts: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 5: crash_alter_partition_add set @@debug_dbug= "+d,crash_alter_partition_add"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_add: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_add: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_add: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 6: crash_change_partition_add_parts_1 set @@debug_dbug= "+d,crash_change_partition_add_parts_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_add_parts_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_add_parts_1: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_add_parts_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 7: crash_change_partition_add_parts_2 set @@debug_dbug= "+d,crash_change_partition_add_parts_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_add_parts_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_add_parts_2: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_add_parts_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 8: crash_change_partition_add_parts_3 set @@debug_dbug= "+d,crash_change_partition_add_parts_3"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_add_parts_3: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_add_parts_3: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_add_parts_3: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 9: crash_change_partition_4 set @@debug_dbug= "+d,crash_change_partition_4"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_4: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_4: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_4: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 10: crash_change_partition_5 set @@debug_dbug= "+d,crash_change_partition_5"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 11: crash_alter_partition_rename_table set @@debug_dbug= "+d,crash_alter_partition_rename_table"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_rename_table: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_rename_table: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_rename_table: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 12: crash_alter_partition_rename_to_backup set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_rename_to_backup: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_rename_to_backup: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_rename_to_backup: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 13: crash_change_partition_rename_parts_1 set @@debug_dbug= "+d,crash_change_partition_rename_parts_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_rename_parts_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_rename_parts_1: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_rename_parts_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 14: crash_alter_partition_rename_added_part set @@debug_dbug= "+d,crash_alter_partition_rename_added_part"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_rename_added_part: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_rename_added_part: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_rename_added_part: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 15: crash_change_partition_rename_parts_2 set @@debug_dbug= "+d,crash_change_partition_rename_parts_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_rename_parts_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_rename_parts_2: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_rename_parts_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 16: crash_alter_partition_rename_drop_backup set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_rename_drop_backup: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_rename_drop_backup: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_rename_drop_backup: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 17: crash_change_partition_6 set @@debug_dbug= "+d,crash_change_partition_6"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_6: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_6: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_6: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 18: crash_change_partition_7 set @@debug_dbug= "+d,crash_change_partition_7"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_7: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_7: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_7: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 19: crash_change_partition_8 set @@debug_dbug= "+d,crash_change_partition_8"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_8: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_8: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd # d,crash_change_partition_8: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 20: crash_change_partition_9 set @@debug_dbug= "+d,crash_change_partition_9"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_change_partition_9: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_change_partition_9: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_change_partition_9: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 21: crash_alter_partition_binlog_1 set @@debug_dbug= "+d,crash_alter_partition_binlog_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_binlog_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_binlog_1: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_binlog_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 22: crash_alter_partition_binlog_2 set @@debug_dbug= "+d,crash_alter_partition_binlog_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_alter_partition_binlog_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_alter_partition_binlog_2: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_alter_partition_binlog_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 23: crash_done_partition_1 set @@debug_dbug= "+d,crash_done_partition_1"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_done_partition_1: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_done_partition_1: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_done_partition_1: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB, PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB, PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)) DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 24: crash_done_partition_2 set @@debug_dbug= "+d,crash_done_partition_2"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_done_partition_2: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_done_partition_2: AFTER crash #sql-backup-4-t1.frm #sql-backup-4-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_done_partition_2: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB, PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB, PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)) DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 25: crash_fail_partition_1,fail_change_partition_5, set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_fail_partition_1,fail_change_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 26: crash_fail_partition_2,fail_change_partition_5, set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_fail_partition_2,fail_change_partition_5: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#TMP#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#TMP#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0#TMP#.ibd t1#P#p15#SP#p15sp1#TMP#.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p25#SP#p25sp0#TMP#.ibd t1#P#p25#SP#p25sp1#TMP#.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 27: crash_fail_partition_1,fail_change_partition_6, set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_fail_partition_1,fail_change_partition_6: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug; # Crash-point 28: crash_fail_partition_2,fail_change_partition_6, set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,"; RESET MASTER; CREATE TABLE t1 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB' PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 (PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), PARTITION p20 VALUES IN (25,26,27,28,29), PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"); # d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO (PARTITION p10 VALUES IN (10,11,12,13,14,15,16), PARTITION p15 VALUES IN (17,18,19,20,21,22,23), PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); # d,crash_fail_partition_2,fail_change_partition_6: AFTER crash #sql-shadow-t1.frm #sql-shadow-t1.par db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0#REN#.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1#REN#.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p15#SP#p15sp0.ibd t1#P#p15#SP#p15sp1.ibd t1#P#p20#SP#p20sp0#REN#.ibd t1#P#p20#SP#p20sp1#REN#.ibd t1#P#p25#SP#p25sp0.ibd t1#P#p25#SP#p25sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par # d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery db.opt t1#P#p0#SP#p0sp0.ibd t1#P#p0#SP#p0sp1.ibd t1#P#p10#SP#p10sp0.ibd t1#P#p10#SP#p10sp1.ibd t1#P#p20#SP#p20sp0.ibd t1#P#p20#SP#p20sp1.ibd t1#P#p30#SP#p30sp0.ibd t1#P#p30#SP#p30sp1.ibd t1.frm t1.par SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL, `b` varchar(64) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 PARTITION BY LIST (`a`) SUBPARTITION BY HASH (`a`) SUBPARTITIONS 2 (PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) SELECT * FROM t1; a b 1 Original from partition p0 11 Original from partition p1 12 Original from partition p1 13 Original from partition p1 14 Original from partition p1 2 Original from partition p0 3 Original from partition p0 4 Original from partition p0 DROP TABLE t1; set @@debug_dbug= @save_dbug;