summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2019-10-16 14:02:16 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2019-10-23 10:12:53 +0300
commit1036886b70d6450fa96c66bcd8b4d68d3dbc088f (patch)
treee194b332a7d8e3135f06665a3187ac4a082a5b62
parent9c735784aecb2ff42ee51a6c37175095e59133d9 (diff)
downloadmariadb-git-1036886b70d6450fa96c66bcd8b4d68d3dbc088f.tar.gz
Stabilize tests.
Changes to be committed: modified: mysql-test/suite/galera_sr/disabled.def modified: mysql-test/suite/galera_sr/r/GCF-561.result modified: mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result modified: mysql-test/suite/galera_sr/r/galera_sr_kill_query.result modified: mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result new file: mysql-test/suite/galera_sr/suite.pm modified: mysql-test/suite/galera_sr/t/GCF-561.test modified: mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test modified: mysql-test/suite/galera_sr/t/galera_sr_kill_query.test modified: mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
-rw-r--r--mysql-test/suite/galera_sr/disabled.def3
-rw-r--r--mysql-test/suite/galera_sr/r/GCF-561.result32
-rw-r--r--mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result1
-rw-r--r--mysql-test/suite/galera_sr/r/galera_sr_kill_query.result26
-rw-r--r--mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result26
-rw-r--r--mysql-test/suite/galera_sr/suite.pm72
-rw-r--r--mysql-test/suite/galera_sr/t/GCF-561.test14
-rw-r--r--mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test6
-rw-r--r--mysql-test/suite/galera_sr/t/galera_sr_kill_query.test10
-rw-r--r--mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test17
10 files changed, 153 insertions, 54 deletions
diff --git a/mysql-test/suite/galera_sr/disabled.def b/mysql-test/suite/galera_sr/disabled.def
index b2cc0189773..2ad1e3e7cbd 100644
--- a/mysql-test/suite/galera_sr/disabled.def
+++ b/mysql-test/suite/galera_sr/disabled.def
@@ -1,2 +1,3 @@
galera_sr_table_contents : missing file
-GCF-437 : test relies on InnoDB redo log size limtation
+GCF-437 : test relies on InnoDB redo log size limitation
+GCF-1060 : MDEV-20848 Galera test failure on galera_sr.GCF_1060
diff --git a/mysql-test/suite/galera_sr/r/GCF-561.result b/mysql-test/suite/galera_sr/r/GCF-561.result
index 58663caf134..9d595973f57 100644
--- a/mysql-test/suite/galera_sr/r/GCF-561.result
+++ b/mysql-test/suite/galera_sr/r/GCF-561.result
@@ -16,18 +16,18 @@ SELECT COUNT(*) > 0 FROM mysql.wsrep_streaming_log;
COUNT(*) > 0
1
ALTER TABLE t1 DROP COLUMN f2;
-SELECT COUNT(*) = 0 FROM t1;
-COUNT(*) = 0
-1
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
-COUNT(*) = 0
-1
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+EXPECT_0
+0
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
+0
connection node_1;
INSERT INTO t1 VALUES (6, 6);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
-COUNT(*) = 0
-1
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
+0
INSERT INTO t1 VALUES (6, 6);
ERROR 21S01: Column count doesn't match value count at row 1
START TRANSACTION;
@@ -41,10 +41,12 @@ SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
connection node_1;
COMMIT;
connection node_2;
-SELECT COUNT(*) = 5 FROM t1;
-COUNT(*) = 5
-1
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
-COUNT(*) = 0
-1
+set global wsrep_sync_wait=15;
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+SELECT COUNT(*) AS EXPECT_5 FROM t1;
+EXPECT_5
+5
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
+0
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result b/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result
index 9b4419949f3..93f94222862 100644
--- a/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result
+++ b/mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result
@@ -48,6 +48,7 @@ SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log;
expect_0
0
connection node_2;
+SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
set global wsrep_sync_wait=15;
SELECT COUNT(*) as expect_6 FROM t1;
expect_6
diff --git a/mysql-test/suite/galera_sr/r/galera_sr_kill_query.result b/mysql-test/suite/galera_sr/r/galera_sr_kill_query.result
index 59942e717e7..82f41a2faaa 100644
--- a/mysql-test/suite/galera_sr/r/galera_sr_kill_query.result
+++ b/mysql-test/suite/galera_sr/r/galera_sr_kill_query.result
@@ -13,19 +13,21 @@ Killing query ...
connection node_1;
ERROR 70100: Query execution was interrupted
connection node_2;
-SELECT COUNT(*) = 0 FROM t1;
-COUNT(*) = 0
-1
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
-COUNT(*) = 0
-1
+SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+EXPECT_0
+0
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
+0
INSERT INTO t1 SELECT 1 FROM ten AS t1, ten AS t2, ten AS t3;
-SELECT COUNT(*) = 1000 FROM t1;
-COUNT(*) = 1000
-1
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+EXPECT_1000
+1000
connection node_1a;
-SELECT COUNT(*) = 1000 FROM t1;
-COUNT(*) = 1000
-1
+SET GLOBAL wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
+EXPECT_1000
+1000
DROP TABLE t1;
DROP TABLE ten;
diff --git a/mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result b/mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result
index 6218cffcb78..902aa27d5aa 100644
--- a/mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result
+++ b/mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result
@@ -1,6 +1,8 @@
connection node_2;
connection node_1;
connection node_1;
+connection node_2;
+connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE = InnoDB;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1a;
@@ -24,21 +26,21 @@ connection node_2;
SELECT COUNT(*) > 0 FROM mysql.wsrep_streaming_log;
COUNT(*) > 0
1
-SELECT COUNT(*) = 6 FROM t1 WHERE f1 IN (11,12,13,14,15,16);
-COUNT(*) = 6
-1
+SELECT COUNT(*) AS EXPECT_6 FROM t1 WHERE f1 IN (11,12,13,14,15,16);
+EXPECT_6
+6
connection node_1b;
INSERT INTO t1 VALUES (24),(25),(26);
COMMIT;
connection node_2;
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
-COUNT(*) = 0
-1
-SELECT COUNT(*) = 12 FROM t1;
-COUNT(*) = 12
-1
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
+0
+SELECT COUNT(*) AS EXPECT_12 FROM t1;
+EXPECT_12
+12
connection node_1;
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
-COUNT(*) = 0
-1
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+EXPECT_0
+0
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/suite.pm b/mysql-test/suite/galera_sr/suite.pm
new file mode 100644
index 00000000000..878e2d0fffd
--- /dev/null
+++ b/mysql-test/suite/galera_sr/suite.pm
@@ -0,0 +1,72 @@
+package My::Suite::Galera_sr;
+use File::Basename;
+use My::Find;
+
+@ISA = qw(My::Suite);
+
+return "Not run for embedded server" if $::opt_embedded_server;
+
+return "WSREP is not compiled in" if not ::have_wsrep();
+
+return "No wsrep provider library" unless ::have_wsrep_provider();
+
+return ::wsrep_version_message() unless ::check_wsrep_version();
+
+push @::global_suppressions,
+ (
+ qr(WSREP: wsrep_sst_receive_address is set to '127.0.0.1),
+ qr(WSREP: Could not open saved state file for reading: .*),
+ qr(WSREP: Could not open state file for reading: .*),
+ qr(WSREP: Gap in state sequence. Need state transfer.),
+ qr(WSREP: Failed to prepare for incremental state transfer:),
+ qr(WSREP:.*down context.*),
+ qr(WSREP: Failed to send state UUID:),
+ qr(WSREP: last inactive check more than .* skipping check),
+ qr(WSREP: Releasing seqno [0-9]* before [0-9]* was assigned.),
+ qr|WSREP: access file\(.*gvwstate.dat\) failed\(No such file or directory\)|,
+ qr(WSREP: Quorum: No node with complete state),
+ qr(WSREP: Initial position was provided by configuration or SST, avoiding override),
+ qr|WSREP: discarding established \(time wait\) .*|,
+ qr(WSREP: There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside. Will use that one.),
+ qr(WSREP: evs::proto.*),
+ qr|WSREP: Ignoring possible split-brain \(allowed by configuration\) from view:.*|,
+ qr(WSREP: no nodes coming from prim view, prim not possible),
+ qr(WSREP: Member .* requested state transfer from .* but it is impossible to select State Transfer donor: Resource temporarily unavailable),
+ qr(WSREP: user message in state LEAVING),
+ qr(WSREP: .* sending install message failed: Transport endpoint is not connected),
+ qr(WSREP: .* sending install message failed: Resource temporarily unavailable),
+ qr(WSREP: Maximum writeset size exceeded by .*),
+ qr(WSREP: transaction size exceeded.*),
+ qr(WSREP: RBR event .*),
+ qr(WSREP: Ignoring error for TO isolated action: .*),
+ qr(WSREP: transaction size limit .*),
+ qr(WSREP: rbr write fail, .*),
+ qr(WSREP: .*Backend not supported: foo.*),
+ qr(WSREP: .*Failed to initialize backend using .*),
+ qr(WSREP: .*Failed to open channel 'my_wsrep_cluster' at .*),
+ qr(WSREP: gcs connect failed: Socket type not supported),
+ qr(WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 .*),
+ qr(WSREP: .*Failed to open backend connection: -110 .*),
+ qr(WSREP: .*Failed to open channel 'my_wsrep_cluster' at .*),
+ qr(WSREP: gcs connect failed: Connection timed out),
+ qr|WSREP: wsrep::connect\(.*\) failed: 7|,
+ qr(WSREP: SYNC message from member .* in non-primary configuration. Ignored.),
+ qr(WSREP: Could not find peer:),
+ qr(WSREP: TO isolation failed for: .*),
+ qr|WSREP: gcs_caused\(\) returned .*|,
+ qr|WSREP: Protocol violation. JOIN message sender .* is not in state transfer \(SYNCED\). Message ignored.|,
+ qr|WSREP: Protocol violation. JOIN message sender .* is not in state transfer \(JOINED\). Message ignored.|,
+ qr|WSREP: Unsupported protocol downgrade: incremental data collection disabled. Expect abort.|,
+ qr(WSREP: Action message in non-primary configuration from member [0-9]*),
+ qr(WSREP: Last Applied Action message in non-primary configuration from member [0-9]*),
+ qr(WSREP: discarding established .*),
+ qr|WSREP: .*core_handle_uuid_msg.*|,
+ qr(WSREP: --wsrep-causal-reads=ON takes precedence over --wsrep-sync-wait=0. WSREP_SYNC_WAIT_BEFORE_READ is on),
+ qr|WSREP: JOIN message from member .* in non-primary configuration. Ignored.|,
+ qr|Query apply failed:*|,
+ qr(WSREP: Ignoring error*),
+ qr(WSREP: Failed to remove page file .*),
+ qr(WSREP: wsrep_sst_method is set to 'mysqldump' yet mysqld bind_address is set to .*),
+ );
+
+bless { };
diff --git a/mysql-test/suite/galera_sr/t/GCF-561.test b/mysql-test/suite/galera_sr/t/GCF-561.test
index 4a652284e59..b58e337e72c 100644
--- a/mysql-test/suite/galera_sr/t/GCF-561.test
+++ b/mysql-test/suite/galera_sr/t/GCF-561.test
@@ -27,15 +27,15 @@ SELECT COUNT(*) > 0 FROM mysql.wsrep_streaming_log;
ALTER TABLE t1 DROP COLUMN f2;
# SR applied before the DDL is no longer visible
-SELECT COUNT(*) = 0 FROM t1;
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
--connection node_1
# Transaction can not continue due to DDL, implicit ROLLBACK
--error ER_LOCK_DEADLOCK
INSERT INTO t1 VALUES (6, 6);
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
# DDL is now in effect
--error ER_WRONG_VALUE_COUNT_ON_ROW
@@ -52,14 +52,16 @@ INSERT INTO t1 VALUES (5);
--connection node_2
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
---let $wait_condition = SELECT COUNT(*) > 0 FROM t1;
+--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
--source include/wait_condition.inc
--connection node_1
COMMIT;
--connection node_2
-SELECT COUNT(*) = 5 FROM t1;
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+set global wsrep_sync_wait=15;
+SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+SELECT COUNT(*) AS EXPECT_5 FROM t1;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test b/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test
index bbab86d41a0..bf1105e908d 100644
--- a/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test
+++ b/mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test
@@ -59,9 +59,15 @@ SELECT * FROM t1;
SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log;
--connection node_2
+SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
set global wsrep_sync_wait=15;
+--let $wait_condition = SELECT COUNT(*) = 6 FROM t1;
+--source include/wait_condition.inc
SELECT COUNT(*) as expect_6 FROM t1;
SELECT * FROM t1;
+--let $wait_condition = SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+--source include/wait_condition.inc
+
SELECT COUNT(*) as expect_0 FROM mysql.wsrep_streaming_log;
DROP TABLE t1;
diff --git a/mysql-test/suite/galera_sr/t/galera_sr_kill_query.test b/mysql-test/suite/galera_sr/t/galera_sr_kill_query.test
index 4c9f2b4d7bc..5282baed86d 100644
--- a/mysql-test/suite/galera_sr/t/galera_sr_kill_query.test
+++ b/mysql-test/suite/galera_sr/t/galera_sr_kill_query.test
@@ -33,16 +33,18 @@ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
# Confirm that the kill caused the updates made so far to be removed
--connection node_2
-SELECT COUNT(*) = 0 FROM t1;
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
+SELECT COUNT(*) AS EXPECT_0 FROM t1;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
# Confirm that the transaction can be reissued in its entirety on the slave without a conflict
INSERT INTO t1 SELECT 1 FROM ten AS t1, ten AS t2, ten AS t3;
-SELECT COUNT(*) = 1000 FROM t1;
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
--connection node_1a
-SELECT COUNT(*) = 1000 FROM t1;
+SET GLOBAL wsrep_sync_wait=15;
+SELECT COUNT(*) AS EXPECT_1000 FROM t1;
DROP TABLE t1;
DROP TABLE ten;
diff --git a/mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test b/mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
index fa2df242ccc..d1b0d4b8c88 100644
--- a/mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
+++ b/mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
@@ -4,6 +4,11 @@
--source include/galera_cluster.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
+
--connection node_1
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE = InnoDB;
@@ -32,6 +37,7 @@ INSERT INTO t1 VALUES (21),(22),(23);
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
+--source include/wait_condition.inc
# Commit one transaction while the slave is down
--connection node_1a
@@ -44,7 +50,7 @@ COMMIT;
# Confirm SR table on slave has entries
SELECT COUNT(*) > 0 FROM mysql.wsrep_streaming_log;
-SELECT COUNT(*) = 6 FROM t1 WHERE f1 IN (11,12,13,14,15,16);
+SELECT COUNT(*) AS EXPECT_6 FROM t1 WHERE f1 IN (11,12,13,14,15,16);
# Commit the second transaction on master after the slave has rejoined
--connection node_1b
@@ -53,11 +59,14 @@ COMMIT;
# Confirm that SR table on slave is empty
--connection node_2
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
-SELECT COUNT(*) = 12 FROM t1;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
+SELECT COUNT(*) AS EXPECT_12 FROM t1;
# SR table on master should be empty too
--connection node_1
-SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
+SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
DROP TABLE t1;
+
+# Restore original auto_increment_offset values.
+--source ../galera/include/auto_increment_offset_restore.inc