Commit dcaabf07 authored by Jan Lindström's avatar Jan Lindström

MDEV-18109: Galera 4: run galera_sr test suite

Fix some of the galera_sr suite test failures.
Remove tests that are not going to be run because required
feature is not supported.

	modified:   mysql-test/suite/galera_sr/disabled.def
	deleted:    mysql-test/suite/galera_sr/r/GCF-574.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_cc_slave.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_kill_all_norecovery.result
	modified:   mysql-test/suite/galera_sr/r/galera_sr_load_data.result
	deleted:    mysql-test/suite/galera_sr/r/galera_sr_sbr.result
	modified:   mysql-test/suite/galera_sr/r/mysql-wsrep-features#148.result
	deleted:    mysql-test/suite/galera_sr/r/mysql-wsrep-features#29.result
	deleted:    mysql-test/suite/galera_sr/t/GCF-574.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_cc_slave.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.cnf
	modified:   mysql-test/suite/galera_sr/t/galera_sr_kill_all_norecovery.test
	modified:   mysql-test/suite/galera_sr/t/galera_sr_load_data.test
	deleted:    mysql-test/suite/galera_sr/t/galera_sr_sbr.test
	modified:   mysql-test/suite/galera_sr/t/mysql-wsrep-features#148.test
	deleted:    mysql-test/suite/galera_sr/t/mysql-wsrep-features#29.test
parent e17fc729
mysql-wsrep-features#29 : binlog_format=STATEMENT not supported with SR galera_sr_table_contents : missing file
GCF-574 : CTAS is not supported together with SR
galera_sr_sbr : binlog_format=STATEMENT not supported with SR
CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO ten VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
SET SESSION wsrep_trx_fragment_size = 1;
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
wsrep_last_committed_delta
1
SELECT COUNT(*) = 10000 FROM t1;
COUNT(*) = 10000
1
DROP TABLE t1;
DROP TABLE ten;
connection node_2; connection node_2;
connection node_1; connection node_1;
connection node_1;
connection node_2;
connection node_2; connection node_2;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0 COUNT(*) = 0
......
connection node_2; connection node_2;
connection node_1; connection node_1;
connection node_1;
connection node_2;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
......
...@@ -10,4 +10,5 @@ COUNT(*) = 20000 ...@@ -10,4 +10,5 @@ COUNT(*) = 20000
1 1
wsrep_last_committed_diff wsrep_last_committed_diff
1 1
connection node_1;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (id INT) ENGINE=InnoDB;
SET SESSION wsrep_trx_fragment_size = 1;
SET SESSION BINLOG_FORMAT='STATEMENT';
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
COMMIT;
SELECT COUNT(*) = 5 FROM t1;
COUNT(*) = 5
1
DROP TABLE t1;
...@@ -6,9 +6,7 @@ CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB; ...@@ -6,9 +6,7 @@ CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO t2 VALUES (6),(7),(8),(9),(10),(1); INSERT INTO t2 VALUES (6),(7),(8),(9),(10),(1);
connection node_2; connection node_2;
SET GLOBAL wsrep_slave_threads = 2; SET GLOBAL wsrep_slave_threads = 2;
SET GLOBAL DEBUG = 'd,sync.wsrep_apply_cb'; SET GLOBAL debug_dbug = 'd,sync.wsrep_apply_cb';
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
connection node_1; connection node_1;
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
...@@ -28,9 +26,7 @@ connection node_1; ...@@ -28,9 +26,7 @@ connection node_1;
Got one of the listed errors Got one of the listed errors
connection node_2; connection node_2;
SET GLOBAL wsrep_slave_threads = 1; SET GLOBAL wsrep_slave_threads = 1;
SET GLOBAL DEBUG = ''; SET GLOBAL debug_dbug = '';
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb';
SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb';
SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb';
...@@ -40,3 +36,4 @@ COUNT(*) = 10 ...@@ -40,3 +36,4 @@ COUNT(*) = 10
1 1
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;
SET DEBUG_SYNC = RESET;
SET SESSION wsrep_trx_fragment_size = 1;
SET SESSION binlog_format = STATEMENT;
create table t1 (id int not null, f_id int not null, f int not null,
primary key(f_id, id)) engine=innodb;
create table t2 (id int not null,s_id int not null,s varchar(200),
primary key(id)) engine=innodb;
INSERT INTO t1 VALUES (8, 1, 3);
INSERT INTO t1 VALUES (1, 2, 1);
INSERT INTO t2 VALUES (1, 0, '');
INSERT INTO t2 VALUES (8, 1, '');
DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)
WHERE mm.id IS NULL;
DROP TABLE t1;
DROP TABLE t2;
--source include/galera_cluster.inc
--source include/have_innodb.inc
#
# Test CREATE TABLE ... SELECT with Streaming Replication
#
--connection node_1
CREATE TABLE ten (f1 INTEGER) ENGINE=InnoDB;
INSERT INTO ten VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
SET SESSION wsrep_trx_fragment_size = 1;
CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4;
--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
--disable_query_log
--eval SELECT ($wsrep_last_committed_after - $wsrep_last_committed_before) > 1 AS wsrep_last_committed_delta;
--enable_query_log
--connection node_2
SELECT COUNT(*) = 10000 FROM t1;
--connection node_1
DROP TABLE t1;
DROP TABLE ten;
...@@ -7,6 +7,11 @@ ...@@ -7,6 +7,11 @@
# leave the cluster. # leave the cluster.
# #
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--source ../../galera/include/auto_increment_offset_save.inc
# Start with a clean slate # Start with a clean slate
--connection node_2 --connection node_2
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
...@@ -95,3 +100,6 @@ SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; ...@@ -95,3 +100,6 @@ SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
DROP TABLE t1; DROP TABLE t1;
CALL mtr.add_suppression("points to own listening address, blacklisting"); CALL mtr.add_suppression("points to own listening address, blacklisting");
# Restore original auto_increment_offset values.
--source ../../galera/include/auto_increment_offset_restore.inc
...@@ -2,3 +2,7 @@ ...@@ -2,3 +2,7 @@
[mysqld.1] [mysqld.1]
wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.recovery=false' wsrep_provider_options='base_port=@mysqld.1.#galera_port;pc.recovery=false'
auto_increment_offset=1
[mysqld.2]
auto_increment_offset=2
...@@ -6,6 +6,11 @@ ...@@ -6,6 +6,11 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/big_test.inc --source include/big_test.inc
# Save original auto_increment_offset values.
--let $node_1=node_1
--let $node_2=node_2
--source ../../galera/include/auto_increment_offset_save.inc
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
SET SESSION wsrep_trx_fragment_size = 1; SET SESSION wsrep_trx_fragment_size = 1;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
...@@ -50,4 +55,6 @@ SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; ...@@ -50,4 +55,6 @@ SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) = 0 FROM t1;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
--source ../../galera/include/auto_increment_offset_restore.inc
DROP TABLE t1; DROP TABLE t1;
...@@ -24,6 +24,9 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; ...@@ -24,6 +24,9 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
--connection node_1 --connection node_1
--disable_query_log --disable_query_log
--disable_warnings
set global wsrep_load_data_splitting=ON;
--enable_warnings
--eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/galera_sr_load_data.csv' INTO TABLE t1; --eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/galera_sr_load_data.csv' INTO TABLE t1;
--enable_query_log --enable_query_log
...@@ -36,4 +39,11 @@ SELECT COUNT(*) = 20000 FROM t1; ...@@ -36,4 +39,11 @@ SELECT COUNT(*) = 20000 FROM t1;
--eval SELECT $wsrep_last_committed_after - $wsrep_last_committed_before = 3 AS wsrep_last_committed_diff --eval SELECT $wsrep_last_committed_after - $wsrep_last_committed_before = 3 AS wsrep_last_committed_diff
--enable_query_log --enable_query_log
--connection node_1
--disable_query_log
--disable_warnings
set global wsrep_load_data_splitting=OFF;
--enable_warnings
--enable_query_log
DROP TABLE t1; DROP TABLE t1;
--source include/galera_cluster.inc
--source include/have_innodb.inc
#
# Test that SR does not assert in the presence of statement-based replication events
#
--connection node_1
CREATE TABLE t1 (id INT) ENGINE=InnoDB;
SET SESSION wsrep_trx_fragment_size = 1;
SET SESSION BINLOG_FORMAT='STATEMENT';
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
--connection node_2
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
--let $wait_condition = SELECT COUNT(*) > 0 FROM t1;
--source include/wait_condition.inc
--connection node_1
COMMIT;
--connection node_2
SELECT COUNT(*) = 5 FROM t1;
DROP TABLE t1;
...@@ -16,7 +16,7 @@ INSERT INTO t2 VALUES (6),(7),(8),(9),(10),(1); ...@@ -16,7 +16,7 @@ INSERT INTO t2 VALUES (6),(7),(8),(9),(10),(1);
--connection node_2 --connection node_2
SET GLOBAL wsrep_slave_threads = 2; SET GLOBAL wsrep_slave_threads = 2;
SET GLOBAL DEBUG = 'd,sync.wsrep_apply_cb'; SET GLOBAL debug_dbug = 'd,sync.wsrep_apply_cb';
# Begin SR transaction # Begin SR transaction
--connection node_1 --connection node_1
...@@ -48,7 +48,7 @@ COMMIT; ...@@ -48,7 +48,7 @@ COMMIT;
--connection node_2 --connection node_2
SET GLOBAL wsrep_slave_threads = 1; SET GLOBAL wsrep_slave_threads = 1;
SET GLOBAL DEBUG = ''; SET GLOBAL debug_dbug = '';
SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb';
SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb';
SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb'; SET DEBUG_SYNC='now SIGNAL signal.wsrep_apply_cb';
...@@ -58,3 +58,5 @@ SELECT COUNT(*) = 10 FROM t1; ...@@ -58,3 +58,5 @@ SELECT COUNT(*) = 10 FROM t1;
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;
SET DEBUG_SYNC = RESET;
#
# mysql-wsrep-features#29 Unwarranted deadlock error with SR and a single-node cluster
#
SET SESSION wsrep_trx_fragment_size = 1;
SET SESSION binlog_format = STATEMENT;
create table t1 (id int not null, f_id int not null, f int not null,
primary key(f_id, id)) engine=innodb;
create table t2 (id int not null,s_id int not null,s varchar(200),
primary key(id)) engine=innodb;
INSERT INTO t1 VALUES (8, 1, 3);
INSERT INTO t1 VALUES (1, 2, 1);
INSERT INTO t2 VALUES (1, 0, '');
INSERT INTO t2 VALUES (8, 1, '');
DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)
WHERE mm.id IS NULL;
DROP TABLE t1;
DROP TABLE t2;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment