LP #1616392: Small buffer pools might be too small for rseg init during crash recovery

Description

**Reported in Launchpad by Laurynas Biveinis last update 23-09-2016 08:41:44

On 5.6 trunk:

parts.partition_debug_innodb w3 [ fail ]
Test ended at 2016-08-23 17:33:43

CURRENT_TEST: parts.partition_debug_innodb
mysqltest: In included file "./include/wait_time_until_connected_again.inc":
included from ./include/wait_time_until_connected_again.inc at line 25:
included from ./suite/parts/inc/partition_crash.inc at line 23:
included from ./suite/parts/inc/partition_crash_t2.inc at line 9:
included from ./suite/parts/inc/partition_crash_exchange.inc at line 13:
At line 25: Server failed to restart

The result from queries just before the failure was:
...
SET SESSION debug="+d,exchange_partition_abort_4";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL,
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SELECT * FROM t2;
a b
5 Original from table t2
6 Original from table t2
7 Original from table t2
8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");

  1. State before crash
    t1#P#p0.ibd
    t1#P#p1.ibd
    t1.frm
    t1.par
    t2.frm
    t2.ibd
    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
    /*!50100 PARTITION BY RANGE (a)
    (PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,
    PARTITION p1 VALUES LESS THAN MAXVALUE 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
    21 Original from partition p1
    22 Original from partition p1
    23 Original from partition p1
    24 Original from partition p1
    3 Original from partition p0
    4 Original from partition p0
    ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
    ERROR HY000: Lost connection to MySQL server during query

  2. State after crash (before recovery)
    #sqlx-nnnn_nnnn.ibd
    t1#P#p0.ibd
    t1#P#p1.ibd
    t1.frm
    t1.par
    t2.frm
    Waited 6000 * 0.5 sec.

Environment

None

Smart Checklist

Activity

Show:

lpjirasync January 24, 2018 at 10:06 AM

Done

Details

Assignee

Reporter

Priority

Smart Checklist

Created January 24, 2018 at 10:06 AM
Updated January 24, 2018 at 10:06 AM
Resolved January 24, 2018 at 10:06 AM