mirror of
https://github.com/MariaDB/server.git
synced 2026-05-09 00:24:30 +02:00
Galera MTR tests: MW-246 codership/mysql-wsrep#247 Additional tests around RSU and wsrep_desync
This commit is contained in:
parent
13627d49a9
commit
2438afbfde
2 changed files with 114 additions and 0 deletions
40
mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result
Normal file
40
mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
|
||||
SET GLOBAL wsrep_desync=1;
|
||||
SET wsrep_OSU_method=RSU;
|
||||
SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
|
||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
|
||||
SET GLOBAL wsrep_desync=0;
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` int(11) DEFAULT NULL,
|
||||
`f2` int(11) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW VARIABLES LIKE 'wsrep_desync';
|
||||
Variable_name Value
|
||||
wsrep_desync OFF
|
||||
SET wsrep_OSU_method=TOI;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
|
||||
SET GLOBAL wsrep_desync=0;
|
||||
Warnings:
|
||||
Warning 1231 'wsrep_desync' is already OFF.
|
||||
SET wsrep_OSU_method=RSU;
|
||||
SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
|
||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER;;
|
||||
SET GLOBAL wsrep_desync=1;
|
||||
ERROR HY000: Operation 'desync' failed for SET GLOBAL wsrep_desync=1
|
||||
SET GLOBAL wsrep_desync=0;
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` int(11) DEFAULT NULL,
|
||||
`f2` int(11) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SET wsrep_OSU_method=TOI;
|
||||
DROP TABLE t1;
|
||||
CALL mtr.add_suppression("Protocol violation");
|
||||
CALL mtr.add_suppression("desync failed");
|
||||
CALL mtr.add_suppression("Protocol violation");
|
||||
74
mysql-test/suite/galera/t/galera_rsu_wsrep_desync.test
Normal file
74
mysql-test/suite/galera/t/galera_rsu_wsrep_desync.test
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
#
|
||||
# Test manipulating wsrep_desync while an RSU operation is in progress
|
||||
#
|
||||
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug_sync.inc
|
||||
|
||||
# First, test wsrep_desync 1 > 0 during DDL
|
||||
|
||||
--connection node_1
|
||||
CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
|
||||
|
||||
SET GLOBAL wsrep_desync=1;
|
||||
SET wsrep_OSU_method=RSU;
|
||||
|
||||
SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
|
||||
--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
||||
|
||||
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
--connection node_1a
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
|
||||
--source include/wait_condition.inc
|
||||
|
||||
SET GLOBAL wsrep_desync=0;
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
|
||||
--connection node_1
|
||||
--reap
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SHOW VARIABLES LIKE 'wsrep_desync';
|
||||
SET wsrep_OSU_method=TOI;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Next, test wsrep_desync 0 > 1 during DDL, currently not allowed
|
||||
|
||||
--connection node_1
|
||||
CREATE TABLE t1 (f1 INTEGER) Engine=InnoDB;
|
||||
|
||||
SET GLOBAL wsrep_desync=0;
|
||||
SET wsrep_OSU_method=RSU;
|
||||
|
||||
SET DEBUG_SYNC = 'alter_table_before_open_tables WAIT_FOR continue';
|
||||
--send ALTER TABLE t1 ADD COLUMN f2 INTEGER;
|
||||
|
||||
--connection node_1a
|
||||
|
||||
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE = 'debug sync point: alter_table_before_open_tables'
|
||||
--source include/wait_condition.inc
|
||||
|
||||
# This transition is currently not allowed
|
||||
--error ER_CANNOT_USER
|
||||
SET GLOBAL wsrep_desync=1;
|
||||
SET GLOBAL wsrep_desync=0;
|
||||
|
||||
SET DEBUG_SYNC= 'now SIGNAL continue';
|
||||
|
||||
--connection node_1
|
||||
--reap
|
||||
|
||||
SHOW CREATE TABLE t1;
|
||||
SET wsrep_OSU_method=TOI;
|
||||
DROP TABLE t1;
|
||||
|
||||
CALL mtr.add_suppression("Protocol violation");
|
||||
CALL mtr.add_suppression("desync failed");
|
||||
|
||||
--connection node_2
|
||||
CALL mtr.add_suppression("Protocol violation");
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue