mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-8805 - Assertion `!m_ordered_rec_buffer' failed in
ha_partition::init_record_priority_queue() Cherry-pick rev.6b0ee0c795499cee7f9deb649fb010801e0be4c2 from mysql-5.6. Bug #18305270 BACKPORT BUG#18694052 FIX FOR ASSERTION `!M_ORDERED_REC_BUFFER' FAILED TO 5.6 PROBLEM ------- Missed to remove record priority queue if init_index failed for a partition which was causing the crash. FIX --- Remove priority queue if init_index fails for partition.
This commit is contained in:
committed by
Sergey Vojtovich
parent
4834d822ef
commit
e1ed331cea
@ -765,3 +765,37 @@ f1 f2 f3 f4 f5 f6
|
||||
INSERT INTO t3 SELECT * FROM t2 WHERE f3 = 'm' AND f2 ='c';
|
||||
DROP TABLE t1,t2,t3;
|
||||
set global default_storage_engine=default;
|
||||
#
|
||||
# Bug#13737949: CRASH IN HA_PARTITION::INDEX_INIT
|
||||
# Bug#18694052: SERVER CRASH IN HA_PARTITION::INIT_RECORD_PRIORITY_QUEUE
|
||||
#
|
||||
CREATE TABLE t1
|
||||
(a INT,
|
||||
b INT,
|
||||
PRIMARY KEY (a))
|
||||
ENGINE = InnoDB
|
||||
PARTITION BY HASH (a) PARTITIONS 3;
|
||||
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||
# con1
|
||||
ALTER TABLE t1 ADD INDEX idx1 (b);
|
||||
# con default
|
||||
SELECT b FROM t1 WHERE b = 0;
|
||||
ERROR HY000: Table definition has changed, please retry transaction
|
||||
SELECT b FROM t1 WHERE b = 0;
|
||||
ERROR HY000: Table definition has changed, please retry transaction
|
||||
DROP TABLE t1;
|
||||
# Same test without partitioning
|
||||
CREATE TABLE t1
|
||||
(a INT,
|
||||
b INT,
|
||||
PRIMARY KEY (a))
|
||||
ENGINE = InnoDB;
|
||||
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
||||
# con1
|
||||
ALTER TABLE t1 ADD INDEX idx1 (b);
|
||||
# con default
|
||||
SELECT b FROM t1 WHERE b = 0;
|
||||
ERROR HY000: Table definition has changed, please retry transaction
|
||||
SELECT b FROM t1 WHERE b = 0;
|
||||
ERROR HY000: Table definition has changed, please retry transaction
|
||||
DROP TABLE t1;
|
||||
|
Reference in New Issue
Block a user