mirror of
https://github.com/MariaDB/server.git
synced 2025-05-28 13:01:41 +03:00
Contains also MDEV-10547: Test multi_update_innodb fails with InnoDB 5.7 The failure happened because 5.7 has changed the signature of the bool handler::primary_key_is_clustered() const virtual function ("const" was added). InnoDB was using the old signature which caused the function not to be used. MDEV-10550: Parallel replication lock waits/deadlock handling does not work with InnoDB 5.7 Fixed mutexing problem on lock_trx_handle_wait. Note that rpl_parallel and rpl_optimistic_parallel tests still fail. MDEV-10156 : Group commit tests fail on 10.2 InnoDB (branch bb-10.2-jan) Reason: incorrect merge MDEV-10550: Parallel replication can't sync with master in InnoDB 5.7 (branch bb-10.2-jan) Reason: incorrect merge
129 lines
3.4 KiB
Plaintext
129 lines
3.4 KiB
Plaintext
call mtr.add_suppression("InnoDB: Warning: database page corruption or a failed");
|
|
CREATE TABLE t1(a CHAR(255),
|
|
b CHAR(255),
|
|
c CHAR(255),
|
|
d CHAR(255),
|
|
id INT,
|
|
PRIMARY KEY(id)) ENGINE=InnoDB;
|
|
create table t2 like t1;
|
|
create procedure setcrash(IN i INT)
|
|
begin
|
|
CASE i
|
|
WHEN 1 THEN SET SESSION debug_dbug="d,crash_commit_after_prepare";
|
|
WHEN 2 THEN SET SESSION debug_dbug="d,crash_commit_after_log";
|
|
WHEN 3 THEN SET SESSION debug_dbug="d,crash_commit_before_unlog";
|
|
WHEN 4 THEN SET SESSION debug_dbug="d,crash_commit_after";
|
|
WHEN 5 THEN SET SESSION debug_dbug="d,crash_commit_before";
|
|
ELSE BEGIN END;
|
|
END CASE;
|
|
end //
|
|
FLUSH TABLES;
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 9+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 8+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 7+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 6+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 5+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 4+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 3+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 2+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 1+1);
|
|
INSERT INTO t2(a, b, c, d, id) VALUES ('a', 'b', 'c', 'd', 0+1);
|
|
SET binlog_format= mixed;
|
|
RESET MASTER;
|
|
START TRANSACTION;
|
|
insert into t1 select * from t2;
|
|
call setcrash(5);
|
|
COMMIT;
|
|
Got one of the listed errors
|
|
SELECT * FROM t1 ORDER BY id;
|
|
a b c d id
|
|
SHOW BINLOG EVENTS LIMIT 4,1;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
delete from t1;
|
|
SET binlog_format= mixed;
|
|
RESET MASTER;
|
|
START TRANSACTION;
|
|
insert into t1 select * from t2;
|
|
call setcrash(4);
|
|
COMMIT;
|
|
Got one of the listed errors
|
|
SELECT * FROM t1 ORDER BY id;
|
|
a b c d id
|
|
a b c d 1
|
|
a b c d 2
|
|
a b c d 3
|
|
a b c d 4
|
|
a b c d 5
|
|
a b c d 6
|
|
a b c d 7
|
|
a b c d 8
|
|
a b c d 9
|
|
a b c d 10
|
|
SHOW BINLOG EVENTS LIMIT 4,1;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
|
|
delete from t1;
|
|
SET binlog_format= mixed;
|
|
RESET MASTER;
|
|
START TRANSACTION;
|
|
insert into t1 select * from t2;
|
|
call setcrash(3);
|
|
COMMIT;
|
|
Got one of the listed errors
|
|
SELECT * FROM t1 ORDER BY id;
|
|
a b c d id
|
|
a b c d 1
|
|
a b c d 2
|
|
a b c d 3
|
|
a b c d 4
|
|
a b c d 5
|
|
a b c d 6
|
|
a b c d 7
|
|
a b c d 8
|
|
a b c d 9
|
|
a b c d 10
|
|
SHOW BINLOG EVENTS LIMIT 4,1;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
|
|
delete from t1;
|
|
SET binlog_format= mixed;
|
|
RESET MASTER;
|
|
START TRANSACTION;
|
|
insert into t1 select * from t2;
|
|
call setcrash(2);
|
|
COMMIT;
|
|
Got one of the listed errors
|
|
SELECT * FROM t1 ORDER BY id;
|
|
a b c d id
|
|
a b c d 1
|
|
a b c d 2
|
|
a b c d 3
|
|
a b c d 4
|
|
a b c d 5
|
|
a b c d 6
|
|
a b c d 7
|
|
a b c d 8
|
|
a b c d 9
|
|
a b c d 10
|
|
SHOW BINLOG EVENTS LIMIT 4,1;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t2
|
|
delete from t1;
|
|
SET binlog_format= mixed;
|
|
RESET MASTER;
|
|
START TRANSACTION;
|
|
insert into t1 select * from t2;
|
|
call setcrash(1);
|
|
COMMIT;
|
|
Got one of the listed errors
|
|
SELECT * FROM t1 ORDER BY id;
|
|
a b c d id
|
|
SHOW BINLOG EVENTS LIMIT 4,1;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
delete from t1;
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
DROP PROCEDURE setcrash;
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format_max is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|