1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

galera mtr tests: synchronization of tests between branches

This commit is contained in:
Julius Goryavsky
2024-02-20 00:57:55 +01:00
parent 65545a3df2
commit c9a6adba1e
75 changed files with 394 additions and 164 deletions

View File

@@ -11,3 +11,6 @@
############################################################################## ##############################################################################
galera_sequences : MDEV-35934/MDEV-33850 For Galera, create sequence with low cache got signal 6 error: [ERROR] WSREP: FSM: no such a transition REPLICATING -> COMMITTED galera_sequences : MDEV-35934/MDEV-33850 For Galera, create sequence with low cache got signal 6 error: [ERROR] WSREP: FSM: no such a transition REPLICATING -> COMMITTED
galera_wan : MDEV-35940 Unallowed state transition: donor -> synced in galera_wan
galera_bf_abort_lock_table : MDEV-35941 galera_bf_abort_lock_table fails with wait for metadata lock
mysql-wsrep#198 : MDEV-35941 galera_bf_abort_lock_table fails with wait for metadata lock

View File

@@ -1,11 +1,11 @@
connection node_2; connection node_2;
connection node_1; connection node_1;
connection node_1; connection node_1;
connection node_2;
connection node_1;
SET GLOBAL auto_increment_offset=1; SET GLOBAL auto_increment_offset=1;
connection node_2; connection node_2;
SET GLOBAL auto_increment_offset=2; SET GLOBAL auto_increment_offset=2;
connection node_1;
connection node_2;
connection node_2; connection node_2;
SET GLOBAL wsrep_forced_binlog_format='STATEMENT'; SET GLOBAL wsrep_forced_binlog_format='STATEMENT';
connection node_1; connection node_1;

View File

@@ -1,8 +1,8 @@
connection node_2; connection node_2;
connection node_1; connection node_1;
# Correct Galera library found # Correct Galera library found
SELECT COUNT(*) `expect 49` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%'; SELECT COUNT(*) `expect 50` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
expect 49 expect 50
50 50
SELECT VARIABLE_NAME, VARIABLE_VALUE SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES

View File

@@ -99,19 +99,19 @@ Killing server ...
connection node_1; connection node_1;
Killing server ... Killing server ...
connection node_1_insert_simple; connection node_1_insert_simple;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1_insert_multi; connection node_1_insert_multi;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1_insert_transaction; connection node_1_insert_transaction;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1_update_simple; connection node_1_update_simple;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1_insert_1k; connection node_1_insert_1k;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1_insert_1m; connection node_1_insert_1m;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1_insert_10m; connection node_1_insert_10m;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1; connection node_1;
Performing --wsrep-recover ... Performing --wsrep-recover ...
Using --wsrep-start-position when starting mysqld ... Using --wsrep-start-position when starting mysqld ...

View File

@@ -10,31 +10,31 @@ INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1); INSERT INTO t2 VALUES (1);
connection node_2a; connection node_2a;
SET SESSION wsrep_sync_wait=0; SET SESSION wsrep_sync_wait=0;
SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%committing%'; SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE '%committing%' or STATE = 'Waiting for certification');
COUNT(*) = 1 EXPECT_1
1 1
SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table metadata lock%'; SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table metadata lock%';
COUNT(*) = 1 EXPECT_1
1
SELECT COUNT(*) = 0 FROM t1;
COUNT(*) = 0
1
SELECT COUNT(*) = 0 FROM t2;
COUNT(*) = 0
1 1
SELECT COUNT(*) AS EXPECT_0 FROM t1;
EXPECT_0
0
SELECT COUNT(*) AS EXPECT_0 FROM t2;
EXPECT_0
0
connection node_2; connection node_2;
UNLOCK TABLES; UNLOCK TABLES;
connection node_2a; connection node_2a;
SET SESSION wsrep_sync_wait = 15;; SET SESSION wsrep_sync_wait = 15;;
SELECT COUNT(*) = 1 FROM t1; SELECT COUNT(*) AS EXPECT_1 FROM t1;
COUNT(*) = 1 EXPECT_1
1 1
SELECT COUNT(*) = 1 FROM t2; SELECT COUNT(*) AS EXPECT_1 FROM t2;
COUNT(*) = 1 EXPECT_1
1
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%committed%';
COUNT(*) = 2
1 1
SELECT COUNT(*) AS EXPECT_2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE '%committed%' or STATE = 'Waiting for certification');
EXPECT_2
2
SET GLOBAL wsrep_slave_threads = 1;; SET GLOBAL wsrep_slave_threads = 1;;
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;

View File

@@ -1,5 +1,10 @@
connection node_2; connection node_2;
connection node_1; connection node_1;
connection node_2;
SET GLOBAL wsrep_ignore_apply_errors=0;
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
connection node_2a;
SET SESSION wsrep_sync_wait=0;
SET GLOBAL wsrep_ignore_apply_errors=0; SET GLOBAL wsrep_ignore_apply_errors=0;
SET SESSION AUTOCOMMIT=0; SET SESSION AUTOCOMMIT=0;
SET SESSION max_error_count=0; SET SESSION max_error_count=0;
@@ -8,5 +13,4 @@ ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences i
connection node_2; connection node_2;
SHOW CREATE TABLE t0; SHOW CREATE TABLE t0;
ERROR 42S02: Table 'test.t0' doesn't exist ERROR 42S02: Table 'test.t0' doesn't exist
connection node_1; disconnect node_2a;
SET GLOBAL wsrep_ignore_apply_errors=DEFAULT;

View File

@@ -249,10 +249,13 @@ CREATE SEQUENCE t INCREMENT BY 0 CACHE=20 ENGINE=INNODB;
ALTER TABLE t ENGINE=MYISAM; ALTER TABLE t ENGINE=MYISAM;
ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster' ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster'
ALTER SEQUENCE t INCREMENT BY 1 CACHE=10; ALTER SEQUENCE t INCREMENT BY 1 CACHE=10;
ERROR 42000: This version of MariaDB doesn't yet support 'CACHE without INCREMENT BY 0 in Galera cluster' ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster'
ALTER SEQUENCE t INCREMENT BY 1 NOCACHE; ALTER SEQUENCE t INCREMENT BY 1 NOCACHE;
ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster'
ALTER SEQUENCE t INCREMENT BY 0 NOCACHE; ALTER SEQUENCE t INCREMENT BY 0 NOCACHE;
ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster'
ALTER SEQUENCE t INCREMENT BY 0 CACHE=10; ALTER SEQUENCE t INCREMENT BY 0 CACHE=10;
ERROR 42000: This version of MariaDB doesn't yet support 'non-InnoDB sequences in Galera cluster'
DROP SEQUENCE t; DROP SEQUENCE t;
CREATE SEQUENCE t INCREMENT BY 0 CACHE=20 ENGINE=INNODB; CREATE SEQUENCE t INCREMENT BY 0 CACHE=20 ENGINE=INNODB;
CREATE TABLE t1(a int not null primary key default nextval(t), b int) engine=innodb; CREATE TABLE t1(a int not null primary key default nextval(t), b int) engine=innodb;

View File

@@ -23,6 +23,22 @@ connection node_1a;
connection node_1b; connection node_1b;
connection node_2; connection node_2;
connection node_2a; connection node_2a;
connection node_1;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) FROM parent;
COUNT(*)
20001
SELECT COUNT(*) FROM child;
COUNT(*)
10000
connection node_2;
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) FROM parent;
COUNT(*)
20001
SELECT COUNT(*) FROM child;
COUNT(*)
10000
DROP TABLE child; DROP TABLE child;
DROP TABLE parent; DROP TABLE parent;
DROP TABLE ten; DROP TABLE ten;

View File

@@ -1,9 +1,9 @@
connection node_2; connection node_2;
connection node_1; connection node_1;
CALL mtr.add_suppression("WSREP: Stray state UUID msg:"); CALL mtr.add_suppression("WSREP: Stray state UUID msg: ");
CALL mtr.add_suppression("Sending JOIN failed: "); CALL mtr.add_suppression("WSREP: .*Sending JOIN failed: ");
CALL mtr.add_suppression("WSREP: .* sending install message failed: Socket is not connected"); CALL mtr.add_suppression("WSREP: .*sending install message failed: Socket is not connected");
CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside"); CALL mtr.add_suppression("WSREP: .*There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
VARIABLE_VALUE = 4 VARIABLE_VALUE = 4
1 1
@@ -36,8 +36,8 @@ VARIABLE_VALUE LIKE '%gmcast.segment = 3%'
1 1
DROP TABLE t1; DROP TABLE t1;
connection node_1; connection node_1;
call mtr.add_suppression("WSREP: read_completion_condition.*"); call mtr.add_suppression("WSREP: read_completion_condition");
call mtr.add_suppression("WSREP: read_handler.*"); call mtr.add_suppression("WSREP: read_handler");
disconnect node_3; disconnect node_3;
disconnect node_4; disconnect node_4;
disconnect node_2; disconnect node_2;

View File

@@ -10,7 +10,7 @@ SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VA
EXPECT_4 EXPECT_4
4 4
connection node_1; connection node_1;
CREATE TABLE t1 (f1 INTEGER); CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=INNODB;
INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1);
connection node_2; connection node_2;
INSERT INTO t1 VALUES (2); INSERT INTO t1 VALUES (2);
@@ -20,6 +20,8 @@ connection node_4;
INSERT INTO t1 VALUES (4); INSERT INTO t1 VALUES (4);
connection node_3; connection node_3;
INSERT INTO t1 VALUES (13); INSERT INTO t1 VALUES (13);
connection node_1;
connection node_3;
Killing server ... Killing server ...
connection node_1; connection node_1;
INSERT INTO t1 VALUES (11); INSERT INTO t1 VALUES (11);
@@ -29,8 +31,11 @@ connection node_4;
INSERT INTO t1 VALUES (14); INSERT INTO t1 VALUES (14);
connection node_3; connection node_3;
INSERT INTO t1 VALUES (131); INSERT INTO t1 VALUES (131);
connection node_1;
connection node_2; connection node_2;
INSERT INTO t1 VALUES (22); INSERT INTO t1 VALUES (22);
connection node_1;
connection node_2;
Killing server ... Killing server ...
connection node_1; connection node_1;
INSERT INTO t1 VALUES (21); INSERT INTO t1 VALUES (21);
@@ -42,6 +47,8 @@ connection node_2;
INSERT INTO t1 VALUES (221); INSERT INTO t1 VALUES (221);
connection node_4; connection node_4;
INSERT INTO t1 VALUES (34); INSERT INTO t1 VALUES (34);
connection node_1;
connection node_4;
Killing server ... Killing server ...
connection node_1; connection node_1;
INSERT INTO t1 VALUES (31); INSERT INTO t1 VALUES (31);

View File

@@ -1,7 +1,7 @@
connection node_2; connection node_2;
connection node_1; connection node_1;
call mtr.add_suppression("WSREP\: Unknown parameter 'gmcasts\\.segment'"); call mtr.add_suppression("WSREP: Unknown parameter 'gmcasts\\.segment'");
call mtr.add_suppression("WSREP\: Set options returned 7"); call mtr.add_suppression("WSREP: Set options returned 7");
SET GLOBAL wsrep_provider_options="gmcasts.segment=1"; SET GLOBAL wsrep_provider_options="gmcasts.segment=1";
ERROR HY000: Incorrect arguments to SET ERROR HY000: Incorrect arguments to SET
Unhandled exceptions: 0 Unhandled exceptions: 0

View File

@@ -3,10 +3,17 @@ connection node_1;
connection node_1; connection node_1;
connection node_2; connection node_2;
connection node_1; connection node_1;
call mtr.add_suppression("WSREP:.*"); call mtr.add_suppression("WSREP: async IST sender failed to serve");
call mtr.add_suppression("WSREP: Failed to establish connection: Connection refused");
call mtr.add_suppression("WSREP: IST failed: IST sender, failed to connect");
call mtr.add_suppression("WSREP: .*State transfer.* failed: Protocol error");
SET @wsrep_provider_options_orig = @@GLOBAL.wsrep_provider_options; SET @wsrep_provider_options_orig = @@GLOBAL.wsrep_provider_options;
SET GLOBAL wsrep_provider_options ='pc.ignore_sb=true;pc.weight=2'; SET GLOBAL wsrep_provider_options ='pc.ignore_sb=true;pc.weight=2';
connection node_2; connection node_2;
call mtr.add_suppression("WSREP: async IST sender failed to serve");
call mtr.add_suppression("WSREP: Failed to establish connection: Connection refused");
call mtr.add_suppression("WSREP: IST failed: IST sender, failed to connect");
call mtr.add_suppression("WSREP: .*State transfer.* failed: Protocol error");
SET @wsrep_cluster_address_orig = @@GLOBAL.wsrep_cluster_address; SET @wsrep_cluster_address_orig = @@GLOBAL.wsrep_cluster_address;
SET GLOBAL WSREP_ON=0; SET GLOBAL WSREP_ON=0;
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;

View File

@@ -31,3 +31,6 @@ test.t1 repair note The storage engine for the table doesn't support repair
test.t2 repair note The storage engine for the table doesn't support repair test.t2 repair note The storage engine for the table doesn't support repair
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;
connection node_1;
disconnect node_2a;
disconnect node_2b;

View File

@@ -1,5 +1,6 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_sequence.inc
CREATE SEQUENCE Seq1_1 START WITH 1 INCREMENT BY 1 NOCACHE; CREATE SEQUENCE Seq1_1 START WITH 1 INCREMENT BY 1 NOCACHE;
CREATE TABLE t1 (Id int(11) NOT NULL, PRIMARY KEY (Id)); CREATE TABLE t1 (Id int(11) NOT NULL, PRIMARY KEY (Id));

View File

@@ -1,5 +1,6 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_sequence.inc
--disable_ps2_protocol --disable_ps2_protocol

View File

@@ -3,6 +3,7 @@
# statement is rolled back # statement is rolled back
# #
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_aria.inc
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) engine=innodb; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) engine=innodb;
CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) engine=aria; CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) engine=aria;

View File

@@ -2,3 +2,12 @@
[mysqld] [mysqld]
log-bin log-bin
log-slave-updates
[mysqld.1]
auto-increment-increment=2
auto-increment-offset=1
[mysqld.2]
auto-increment-increment=2
auto-increment-offset=2

View File

@@ -1,6 +1,5 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_aria.inc
SET AUTOCOMMIT=ON; SET AUTOCOMMIT=ON;
SELECT @@autocommit; SELECT @@autocommit;

View File

@@ -0,0 +1,13 @@
!include ../galera_2nodes.cnf
[mysqld]
log-bin
log-slave-updates
[mysqld.1]
auto-increment-increment=2
auto-increment-offset=1
[mysqld.2]
auto-increment-increment=2
auto-increment-offset=2

View File

@@ -1,4 +1,5 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc
--source include/have_aria.inc --source include/have_aria.inc
create table t1(id serial, val varchar(100)) engine=myisam; create table t1(id serial, val varchar(100)) engine=myisam;
@@ -38,7 +39,6 @@ insert into t5 select null, 'c';
insert into t5 select null, 'd' from t5; insert into t5 select null, 'd' from t5;
select * from t2; select * from t2;
--connection node_2 --connection node_2
select * from t1; select * from t1;
select * from t2; select * from t2;
@@ -46,8 +46,6 @@ select * from t3;
select * from t4; select * from t4;
select * from t5; select * from t5;
--connection node_1 --connection node_1
drop table t1,t2,t3,t4,t5; drop table t1,t2,t3,t4,t5;
set global wsrep_replicate_myisam=default; set global wsrep_replicate_myisam=default;

View File

@@ -17,30 +17,30 @@ ALTER DATABASE db CHARACTER SET = utf8;
ALTER EVENT ev1 RENAME TO ev2; ALTER EVENT ev1 RENAME TO ev2;
--error 1370 --error 1370
ALTER FUNCTION fun1 COMMENT 'foo'; ALTER FUNCTION fun1 COMMENT 'foo';
#--error 1044,1227 #--error 1044,1142,1227,1370
#ALTER INSTANCE ROTATE INNODB MASTER KEY; #ALTER INSTANCE ROTATE INNODB MASTER KEY;
--error 1044,1227 --error 1044,1142,1227,1370
ALTER LOGFILE GROUP lfg ADD UNDOFILE 'file' ENGINE=InnoDB; ALTER LOGFILE GROUP lfg ADD UNDOFILE 'file' ENGINE=InnoDB;
--error 1044,1227,1370 --error 1044,1142,1227,1370
ALTER PROCEDURE proc1 COMMENT 'foo'; ALTER PROCEDURE proc1 COMMENT 'foo';
--error 1044,1227,1370 --error 1044,1142,1227,1370
ALTER SERVER srv OPTIONS (USER 'sally'); ALTER SERVER srv OPTIONS (USER 'sally');
--error 1044,1142,1227,1370 --error 1044,1142,1227,1370
ALTER TABLE tbl DROP COLUMN col; ALTER TABLE tbl DROP COLUMN col;
--error 1044,1227,1370 --error 1044,1142,1227,1370
ALTER TABLESPACE tblspc DROP DATAFILE 'file' ENGINE=innodb; ALTER TABLESPACE tblspc DROP DATAFILE 'file' ENGINE=innodb;
--error 1044,1142,1227,1370 --error 1044,1142,1227,1370
ALTER VIEW vw AS SELECT 1; ALTER VIEW vw AS SELECT 1;
--error 1044,1227,1370 --error 1044,1142,1227,1370
CREATE DATABASE db; CREATE DATABASE db;
--error 1044,1227,1370 --error 1044,1142,1227,1370
CREATE EVENT ev1 ON SCHEDULE AT CURRENT_TIMESTAMP DO SELECT 1; CREATE EVENT ev1 ON SCHEDULE AT CURRENT_TIMESTAMP DO SELECT 1;
--error 1044,1227,1370 --error 1044,1142,1227,1370
CREATE FUNCTION fun1() RETURNS int RETURN(1); CREATE FUNCTION fun1() RETURNS int RETURN(1);
--error 1044,1227,1370 --error 1044,1142,1227,1370
CREATE FUNCTION fun1 RETURNS STRING SONAME 'funlib.so'; CREATE FUNCTION fun1 RETURNS STRING SONAME 'funlib.so';
--error 1044,1227,1370 --error 1044,1142,1227,1370
CREATE PROCEDURE proc1() BEGIN END; CREATE PROCEDURE proc1() BEGIN END;
--error 1044,1142,1227,1370 --error 1044,1142,1227,1370
CREATE INDEX idx ON tbl(id); CREATE INDEX idx ON tbl(id);
@@ -57,8 +57,6 @@ CREATE TRIGGER trg BEFORE UPDATE ON t FOR EACH ROW BEGIN END;
--error 1044,1142,1227,1370 --error 1044,1142,1227,1370
CREATE VIEW vw AS SELECT 1; CREATE VIEW vw AS SELECT 1;
--error 1044,1142,1227,1370 --error 1044,1142,1227,1370
DROP DATABASE db; DROP DATABASE db;
--error 1044,1142,1227,1370 --error 1044,1142,1227,1370
@@ -129,4 +127,3 @@ UNINSTALL PLUGIN plg;
--connection node_1 --connection node_1
DROP USER 'userMW416'@'localhost'; DROP USER 'userMW416'@'localhost';
SHOW DATABASES; SHOW DATABASES;

View File

@@ -3,7 +3,12 @@
# thrown from gcomm background thread, the provider terminates properly # thrown from gcomm background thread, the provider terminates properly
# and wsrep_ready becomes 0. # and wsrep_ready becomes 0.
# #
# Not to be run with ASAN. Provider leaks memory when gcomm
# thread is aborted forcifully and ASAN crashes during leak report
# after provider is unloaded.
#
--source include/not_asan.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/galera_have_debug_sync.inc --source include/galera_have_debug_sync.inc

View File

@@ -5,7 +5,6 @@
# #
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc
--disable_warnings --disable_warnings
DROP TABLE IF EXISTS t1, t2; DROP TABLE IF EXISTS t1, t2;
@@ -34,7 +33,6 @@ INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
--let $wait_condition = SELECT COUNT(*) = 10000 FROM t2; --let $wait_condition = SELECT COUNT(*) = 10000 FROM t2;
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # ANALYZE test --echo # ANALYZE test
--connection node_2 --connection node_2
--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'` --let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
@@ -46,8 +44,6 @@ ANALYZE TABLE t1, t2;
--let $wait_condition = SELECT VARIABLE_VALUE = $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed' --let $wait_condition = SELECT VARIABLE_VALUE = $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # OPTIMIZE test --echo # OPTIMIZE test
--connection node_2 --connection node_2
--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'` --let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
@@ -59,8 +55,6 @@ OPTIMIZE TABLE t1, t2;
--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed' --let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # REPAIR test --echo # REPAIR test
--connection node_2 --connection node_2
--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'` --let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
@@ -72,8 +66,6 @@ REPAIR TABLE x1, x2;
--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed' --let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
--source include/wait_condition.inc --source include/wait_condition.inc
--connection node_2 --connection node_2
SELECT COUNT(*) = 10 FROM t1; SELECT COUNT(*) = 10 FROM t1;
SELECT COUNT(*) = 10 FROM x1; SELECT COUNT(*) = 10 FROM x1;
@@ -83,4 +75,5 @@ SELECT COUNT(*) = 10 FROM x2;
--connection node_1 --connection node_1
DROP TABLE t1, t2; DROP TABLE t1, t2;
DROP TABLE x1, x2; DROP TABLE x1, x2;
SET GLOBAL wsrep_replicate_myisam = FALSE; SET GLOBAL wsrep_replicate_myisam = FALSE;

View File

@@ -56,7 +56,7 @@ ALTER TABLE t1 ADD COLUMN (f4 int(10));
# reach commit stage. In the unlikely case the interleaving is different, the # reach commit stage. In the unlikely case the interleaving is different, the
# result of the test should not change. # result of the test should not change.
--connection node_1c --connection node_1c
--let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.processlist WHERE State='Commit' AND ID=$insert_id --let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.processlist WHERE (State='Commit' OR State='Waiting for certification') AND ID=$insert_id
--source include/wait_condition.inc --source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.metadata_lock_info WHERE TABLE_NAME='t1' AND THREAD_ID=$insert_id --let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.metadata_lock_info WHERE TABLE_NAME='t1' AND THREAD_ID=$insert_id
--source include/wait_condition.inc --source include/wait_condition.inc
@@ -83,11 +83,11 @@ ALTER TABLE t1 ADD COLUMN (f4 int(10));
# wait for insert to get blocked # wait for insert to get blocked
--connection node_1c --connection node_1c
--let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.processlist WHERE State='Commit' AND ID=$insert_id --let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.processlist WHERE (State='Commit' OR State='Waiting for certification') AND ID=$insert_id
--source include/wait_condition.inc --source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.metadata_lock_info WHERE TABLE_NAME='t1' AND THREAD_ID=$insert_id --let $wait_condition = SELECT COUNT(*)=1 FROM information_schema.metadata_lock_info WHERE TABLE_NAME='t1' AND THREAD_ID=$insert_id
--source include/wait_condition.inc --source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*)=2 FROM information_schema.processlist WHERE Info like 'INSERT INTO t1 (f1) values("node1%")' AND State = 'Commit' --let $wait_condition = SELECT COUNT(*)=2 FROM information_schema.processlist WHERE Info like 'INSERT INTO t1 (f1) values("node1%")' AND (State='Commit' or State='Waiting for certification')
--source include/wait_condition.inc --source include/wait_condition.inc
# nothing after BLOCK_DDL is applied # nothing after BLOCK_DDL is applied

View File

@@ -5,15 +5,15 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/force_restart.inc --source include/force_restart.inc
--let $node_1=node_1
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
--connection node_1 --connection node_1
SET GLOBAL auto_increment_offset=1; SET GLOBAL auto_increment_offset=1;
--connection node_2 --connection node_2
SET GLOBAL auto_increment_offset=2; SET GLOBAL auto_increment_offset=2;
--let $node_1=node_1
--let $node_2=node_2
--source include/auto_increment_offset_save.inc
## ##
## Verify the correct operation of the auto-increment when the binlog ## Verify the correct operation of the auto-increment when the binlog
## format artificially set to the 'STATEMENT' (although this mode is ## format artificially set to the 'STATEMENT' (although this mode is

View File

@@ -1,4 +1,5 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc
CREATE TABLE t1 (c1 int, UNIQUE INDEX (c1)) engine=innodb; CREATE TABLE t1 (c1 int, UNIQUE INDEX (c1)) engine=innodb;
INSERT INTO t1 VALUES (1),(2),(3),(4),(5); INSERT INTO t1 VALUES (1),(2),(3),(4),(5);

View File

@@ -1,4 +1,5 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc
# #
# MDEV-24833 : Signal 11 on wsrep_can_run_in_toi at wsrep_mysqld.cc:1994 # MDEV-24833 : Signal 11 on wsrep_can_run_in_toi at wsrep_mysqld.cc:1994
# #

View File

@@ -40,4 +40,3 @@ DROP TABLE definer_root;
DROP TABLE definer_default; DROP TABLE definer_default;
DROP USER 'user1'; DROP USER 'user1';

View File

@@ -1,4 +1,6 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc
--source include/have_aria.inc
--connection node_1 --connection node_1
create table t1_Aria(a int, count int, b int, key(b)) engine=Aria; create table t1_Aria(a int, count int, b int, key(b)) engine=Aria;
@@ -36,4 +38,3 @@ SHOW CREATE TABLE t4;
DROP TABLE t2, t3,t4; DROP TABLE t2, t3,t4;
DROP TABLE t1_MyISAM, t1_Aria,t1_InnoDB; DROP TABLE t1_MyISAM, t1_Aria,t1_InnoDB;

View File

@@ -13,12 +13,12 @@
--source include/force_restart.inc --source include/force_restart.inc
# Make sure that the test is operating on the right version of galera library. # Make sure that the test is operating on the right version of galera library.
--let $galera_version=26.4.8 --let $galera_version=26.4.11
source ../wsrep/include/check_galera_version.inc; source ../wsrep/include/check_galera_version.inc;
# Global Variables # Global Variables
SELECT COUNT(*) `expect 49` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%'; SELECT COUNT(*) `expect 50` FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%';
SELECT VARIABLE_NAME, VARIABLE_VALUE SELECT VARIABLE_NAME, VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES

View File

@@ -141,31 +141,31 @@ SET SESSION wsrep_sync_wait = 0;
--source include/kill_galera.inc --source include/kill_galera.inc
--connection node_1_insert_simple --connection node_1_insert_simple
--error 2013 --error 2013, 2026
--reap --reap
--connection node_1_insert_multi --connection node_1_insert_multi
--error 2013 --error 2013, 2026
--reap --reap
--connection node_1_insert_transaction --connection node_1_insert_transaction
--error 2013 --error 2013, 2026
--reap --reap
--connection node_1_update_simple --connection node_1_update_simple
--error 2013 --error 2013, 2026
--reap --reap
--connection node_1_insert_1k --connection node_1_insert_1k
--error 2013 --error 2013, 2026
--reap --reap
--connection node_1_insert_1m --connection node_1_insert_1m
--error 2013 --error 2013, 2026
--reap --reap
--connection node_1_insert_10m --connection node_1_insert_10m
--error 2013 --error 2013, 2026
--reap --reap
--connection node_1 --connection node_1

View File

@@ -32,19 +32,19 @@ INSERT INTO t2 VALUES (1);
--connection node_2a --connection node_2a
--sleep 1 --sleep 1
SET SESSION wsrep_sync_wait=0; SET SESSION wsrep_sync_wait=0;
SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%committing%'; SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE '%committing%' or STATE = 'Waiting for certification');
SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table metadata lock%'; SELECT COUNT(*) AS EXPECT_1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%Waiting for table metadata lock%';
SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) AS EXPECT_0 FROM t1;
SELECT COUNT(*) = 0 FROM t2; SELECT COUNT(*) AS EXPECT_0 FROM t2;
--connection node_2 --connection node_2
UNLOCK TABLES; UNLOCK TABLES;
--connection node_2a --connection node_2a
--eval SET SESSION wsrep_sync_wait = $wsrep_sync_wait_orig; --eval SET SESSION wsrep_sync_wait = $wsrep_sync_wait_orig;
SELECT COUNT(*) = 1 FROM t1; SELECT COUNT(*) AS EXPECT_1 FROM t1;
SELECT COUNT(*) = 1 FROM t2; SELECT COUNT(*) AS EXPECT_1 FROM t2;
SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE '%committed%'; SELECT COUNT(*) AS EXPECT_2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE '%committed%' or STATE = 'Waiting for certification');
--eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig; --eval SET GLOBAL wsrep_slave_threads = $wsrep_slave_threads_orig;
DROP TABLE t1; DROP TABLE t1;

View File

@@ -51,7 +51,7 @@ SET SESSION wsrep_sync_wait = 0;
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%'; --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'Waiting for table metadata lock%';
--source include/wait_condition.inc --source include/wait_condition.inc
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE STATE LIKE 'committing%'; --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE (STATE LIKE '%committing%' or STATE = 'Waiting for certification');
--source include/wait_condition.inc --source include/wait_condition.inc
UNLOCK TABLES; UNLOCK TABLES;

View File

@@ -33,8 +33,8 @@ SELECT COUNT(*) = 1 FROM t1;
# Perform --wsrep-recover and preserve the positions into variables by placing them in $MYSQL_TMP_DIR/galera_wsrep_start_position.inc and then --source'ing it # Perform --wsrep-recover and preserve the positions into variables by placing them in $MYSQL_TMP_DIR/galera_wsrep_start_position.inc and then --source'ing it
--exec $MYSQLD --defaults-group-suffix=.1 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --innodb --wsrep-recover --log-error=$MYSQL_TMP_DIR/galera_wsrep_recover.1.log > $MYSQL_TMP_DIR/galera_wsrep_recover.1.log 2>&1 --exec $MYSQLD --defaults-group-suffix=.1 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-recover --loose-innodb --log-error=$MYSQL_TMP_DIR/galera_wsrep_recover.1.log > $MYSQL_TMP_DIR/galera_wsrep_recover.1.log 2>&1
--exec $MYSQLD --defaults-group-suffix=.2 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --innodb --wsrep-recover --log-error=$MYSQL_TMP_DIR/galera_wsrep_recover.2.log > $MYSQL_TMP_DIR/galera_wsrep_recover.2.log 2>&1 --exec $MYSQLD --defaults-group-suffix=.2 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --wsrep-recover --loose-innodb --log-error=$MYSQL_TMP_DIR/galera_wsrep_recover.2.log > $MYSQL_TMP_DIR/galera_wsrep_recover.2.log 2>&1
--perl --perl
use strict; use strict;

View File

@@ -47,4 +47,3 @@ DROP TABLE t2;
SET GLOBAL read_only=FALSE; SET GLOBAL read_only=FALSE;
DROP TABLE t1; DROP TABLE t1;
DROP USER foo@localhost; DROP USER foo@localhost;

View File

@@ -1,6 +1,13 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_sequence.inc --source include/have_sequence.inc
--connection node_2
let $restore_wsrep_ignore_apply_errors=`SELECT @@GLOBAL.wsrep_ignore_apply_errors`;
SET GLOBAL wsrep_ignore_apply_errors=0;
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
--connection node_2a
SET SESSION wsrep_sync_wait=0;
SET GLOBAL wsrep_ignore_apply_errors=0; SET GLOBAL wsrep_ignore_apply_errors=0;
SET SESSION AUTOCOMMIT=0; SET SESSION AUTOCOMMIT=0;
SET SESSION max_error_count=0; SET SESSION max_error_count=0;
@@ -11,6 +18,8 @@ CREATE TABLE t0 (id GEOMETRY,parent_id GEOMETRY)ENGINE=SEQUENCE;
--error ER_NO_SUCH_TABLE --error ER_NO_SUCH_TABLE
SHOW CREATE TABLE t0; SHOW CREATE TABLE t0;
--connection node_1 --disable_query_log
SET GLOBAL wsrep_ignore_apply_errors=DEFAULT; --eval SET GLOBAL wsrep_ignore_apply_errors=$restore_wsrep_ignore_apply_errors
--enable_query_log
--disconnect node_2a

View File

@@ -1,5 +1,6 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_sequence.inc
# #
# MDEV-19353 : Alter Sequence do not replicate to another nodes with in Galera Cluster # MDEV-19353 : Alter Sequence do not replicate to another nodes with in Galera Cluster
@@ -283,8 +284,11 @@ CREATE SEQUENCE t INCREMENT BY 0 CACHE=20 ENGINE=INNODB;
ALTER TABLE t ENGINE=MYISAM; ALTER TABLE t ENGINE=MYISAM;
--error ER_NOT_SUPPORTED_YET --error ER_NOT_SUPPORTED_YET
ALTER SEQUENCE t INCREMENT BY 1 CACHE=10; ALTER SEQUENCE t INCREMENT BY 1 CACHE=10;
--error ER_NOT_SUPPORTED_YET
ALTER SEQUENCE t INCREMENT BY 1 NOCACHE; ALTER SEQUENCE t INCREMENT BY 1 NOCACHE;
--error ER_NOT_SUPPORTED_YET
ALTER SEQUENCE t INCREMENT BY 0 NOCACHE; ALTER SEQUENCE t INCREMENT BY 0 NOCACHE;
--error ER_NOT_SUPPORTED_YET
ALTER SEQUENCE t INCREMENT BY 0 CACHE=10; ALTER SEQUENCE t INCREMENT BY 0 CACHE=10;
DROP SEQUENCE t; DROP SEQUENCE t;

View File

@@ -54,11 +54,15 @@ INSERT INTO parent VALUES (1, 0);
--connection node_2a --connection node_2a
--reap --reap
# --connection node_1
# ALTER TABLE could bf kill one or more of INSERTs to parent, so SET SESSION wsrep_sync_wait=15;
# the actual number of rows in PARENT depends on whether SELECT COUNT(*) FROM parent;
# the INSERT is committed before ALTER TABLE is executed SELECT COUNT(*) FROM child;
#
--connection node_2
SET SESSION wsrep_sync_wait=15;
SELECT COUNT(*) FROM parent;
SELECT COUNT(*) FROM child;
DROP TABLE child; DROP TABLE child;
DROP TABLE parent; DROP TABLE parent;

View File

@@ -22,11 +22,11 @@ SELECT * FROM t1;
# Original behavior was lost connection, # Original behavior was lost connection,
# but since 10.1, we allow controlling connection to remain alive # but since 10.1, we allow controlling connection to remain alive
# #
--error 0,2013 --error 0,2013,2026
SET GLOBAL wsrep_reject_queries = ALL_KILL; SET GLOBAL wsrep_reject_queries = ALL_KILL;
--connection node_1a --connection node_1a
--error ER_CONNECTION_KILLED,2013,2006 --error ER_CONNECTION_KILLED,2013,2006,2026
SELECT * FROM t1; SELECT * FROM t1;
--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1 --connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1

View File

@@ -64,6 +64,7 @@ SELECT COUNT(*) FROM t1;
SET DEBUG_SYNC = 'now SIGNAL wsrep_retry_autocommit_continue'; SET DEBUG_SYNC = 'now SIGNAL wsrep_retry_autocommit_continue';
--connection node_1 --connection node_1
--error 0,ER_LOCK_DEADLOCK
--reap --reap
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;

View File

@@ -14,4 +14,3 @@ wsrep_provider_options='base_port=@mysqld.3.#galera_port;gcache.size=10M;gmcast.
[mysqld.4] [mysqld.4]
wsrep_provider_options='base_port=@mysqld.4.#galera_port;gcache.size=10M;gmcast.segment=3' wsrep_provider_options='base_port=@mysqld.4.#galera_port;gcache.size=10M;gmcast.segment=3'

View File

@@ -10,10 +10,10 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/force_restart.inc --source include/force_restart.inc
CALL mtr.add_suppression("WSREP: Stray state UUID msg:"); CALL mtr.add_suppression("WSREP: Stray state UUID msg: ");
CALL mtr.add_suppression("Sending JOIN failed: "); CALL mtr.add_suppression("WSREP: .*Sending JOIN failed: ");
CALL mtr.add_suppression("WSREP: .* sending install message failed: Socket is not connected"); CALL mtr.add_suppression("WSREP: .*sending install message failed: Socket is not connected");
CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside"); CALL mtr.add_suppression("WSREP: .*There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc --source include/wait_condition.inc
@@ -42,8 +42,8 @@ SELECT VARIABLE_VALUE LIKE '%gmcast.segment = 3%' FROM INFORMATION_SCHEMA.GLOBAL
DROP TABLE t1; DROP TABLE t1;
--connection node_1 --connection node_1
call mtr.add_suppression("WSREP: read_completion_condition.*"); call mtr.add_suppression("WSREP: read_completion_condition");
call mtr.add_suppression("WSREP: read_handler.*"); call mtr.add_suppression("WSREP: read_handler");
--disconnect node_3 --disconnect node_3
--disconnect node_4 --disconnect node_4

View File

@@ -14,4 +14,3 @@ wsrep_provider_options='base_port=@mysqld.3.#galera_port;gmcast.segment=2'
[mysqld.4] [mysqld.4]
wsrep_provider_options='base_port=@mysqld.4.#galera_port;gmcast.segment=2' wsrep_provider_options='base_port=@mysqld.4.#galera_port;gmcast.segment=2'

View File

@@ -29,7 +29,7 @@
SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--connection node_1 --connection node_1
CREATE TABLE t1 (f1 INTEGER); CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=INNODB;
INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1);
--connection node_2 --connection node_2
@@ -47,10 +47,20 @@ INSERT INTO t1 VALUES (4);
--connection node_3 --connection node_3
INSERT INTO t1 VALUES (13); INSERT INTO t1 VALUES (13);
--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
--source include/kill_galera.inc --source include/wait_condition.inc
--connection node_1 --connection node_1
--let $wait_condition = SELECT COUNT(*) = 5 FROM t1;
--source include/wait_condition.inc
--connection node_3
--source include/kill_galera.inc
--remove_file $MYSQLTEST_VARDIR/mysqld.3/data/grastate.dat
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
INSERT INTO t1 VALUES (11); INSERT INTO t1 VALUES (11);
--connection node_2 --connection node_2
@@ -64,6 +74,10 @@ INSERT INTO t1 VALUES (14);
INSERT INTO t1 VALUES (131); INSERT INTO t1 VALUES (131);
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
# #
# Restart node #2 # Restart node #2
# #
@@ -71,9 +85,17 @@ INSERT INTO t1 VALUES (131);
--connection node_2 --connection node_2
INSERT INTO t1 VALUES (22); INSERT INTO t1 VALUES (22);
--connection node_1
--let $wait_condition = SELECT COUNT(*) = 10 FROM t1;
--source include/wait_condition.inc
--connection node_2
--source include/kill_galera.inc --source include/kill_galera.inc
--remove_file $MYSQLTEST_VARDIR/mysqld.2/data/grastate.dat
--connection node_1 --connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
INSERT INTO t1 VALUES (21); INSERT INTO t1 VALUES (21);
--connection node_3 --connection node_3
@@ -92,11 +114,21 @@ INSERT INTO t1 VALUES (221);
# #
--connection node_4 --connection node_4
--let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
INSERT INTO t1 VALUES (34); INSERT INTO t1 VALUES (34);
--connection node_1
--let $wait_condition = SELECT COUNT(*) = 15 FROM t1;
--source include/wait_condition.inc
--connection node_4
--source include/kill_galera.inc --source include/kill_galera.inc
--remove_file $MYSQLTEST_VARDIR/mysqld.4/data/grastate.dat
--connection node_1 --connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
INSERT INTO t1 VALUES (31); INSERT INTO t1 VALUES (31);
--connection node_2 --connection node_2
@@ -107,6 +139,7 @@ INSERT INTO t1 VALUES (33);
--connection node_4 --connection node_4
--source include/start_mysqld.inc --source include/start_mysqld.inc
--remove_file $MYSQLTEST_VARDIR/mysqld.4/data/grastate.dat
INSERT INTO t1 VALUES (341); INSERT INTO t1 VALUES (341);

View File

@@ -5,8 +5,8 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--let LOGF=$MYSQLTEST_VARDIR/log/mysqld.1.err --let LOGF=$MYSQLTEST_VARDIR/log/mysqld.1.err
--disable_info --disable_info
call mtr.add_suppression("WSREP\: Unknown parameter 'gmcasts\\.segment'"); call mtr.add_suppression("WSREP: Unknown parameter 'gmcasts\\.segment'");
call mtr.add_suppression("WSREP\: Set options returned 7"); call mtr.add_suppression("WSREP: Set options returned 7");
--error ER_WRONG_ARGUMENTS --error ER_WRONG_ARGUMENTS
SET GLOBAL wsrep_provider_options="gmcasts.segment=1"; SET GLOBAL wsrep_provider_options="gmcasts.segment=1";
# Search for unhandled exception message. # Search for unhandled exception message.

View File

@@ -6,11 +6,22 @@
--source include/auto_increment_offset_save.inc --source include/auto_increment_offset_save.inc
--connection node_1 --connection node_1
call mtr.add_suppression("WSREP:.*");
call mtr.add_suppression("WSREP: async IST sender failed to serve");
call mtr.add_suppression("WSREP: Failed to establish connection: Connection refused");
call mtr.add_suppression("WSREP: IST failed: IST sender, failed to connect");
call mtr.add_suppression("WSREP: .*State transfer.* failed: Protocol error");
SET @wsrep_provider_options_orig = @@GLOBAL.wsrep_provider_options; SET @wsrep_provider_options_orig = @@GLOBAL.wsrep_provider_options;
SET GLOBAL wsrep_provider_options ='pc.ignore_sb=true;pc.weight=2'; SET GLOBAL wsrep_provider_options ='pc.ignore_sb=true;pc.weight=2';
--connection node_2 --connection node_2
call mtr.add_suppression("WSREP: async IST sender failed to serve");
call mtr.add_suppression("WSREP: Failed to establish connection: Connection refused");
call mtr.add_suppression("WSREP: IST failed: IST sender, failed to connect");
call mtr.add_suppression("WSREP: .*State transfer.* failed: Protocol error");
SET @wsrep_cluster_address_orig = @@GLOBAL.wsrep_cluster_address; SET @wsrep_cluster_address_orig = @@GLOBAL.wsrep_cluster_address;
SET GLOBAL WSREP_ON=0; SET GLOBAL WSREP_ON=0;
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;

View File

@@ -39,3 +39,8 @@ UNLOCK TABLES;
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;
--connection node_1
--disconnect node_2a
--disconnect node_2b

View File

@@ -9,6 +9,7 @@
--echo # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases --echo # MDEV-28263: mariadb-tzinfo-to-sql improve wsrep and binlog cases
--echo # --echo #
--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo
--exec mkdir $MYSQLTEST_VARDIR/zoneinfo --exec mkdir $MYSQLTEST_VARDIR/zoneinfo
--exec ln -s $MYSQLTEST_VARDIR/zoneinfo $MYSQLTEST_VARDIR/zoneinfo/posix --exec ln -s $MYSQLTEST_VARDIR/zoneinfo $MYSQLTEST_VARDIR/zoneinfo/posix
--copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/GMT --copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/GMT

View File

@@ -1,4 +1,5 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_aria.inc
call mtr.add_suppression("WSREP: ALTER TABLE isolation failure"); call mtr.add_suppression("WSREP: ALTER TABLE isolation failure");

View File

@@ -11,4 +11,3 @@
############################################################################## ##############################################################################
galera_2_cluster : MDEV-32631 galera_2_cluster: before_rollback(): Assertion `0' failed galera_2_cluster : MDEV-32631 galera_2_cluster: before_rollback(): Assertion `0' failed
galera_nbo_master_phase_two_crash : MENT-2215 Test failure on galera_3nodes.galera_nbo_master_non_prim_failure

View File

@@ -47,7 +47,7 @@ CALL mtr.add_suppression("Plugin 'wsrep' init function returned error\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\.");
CALL mtr.add_suppression("Failed to initialize plugins\\."); CALL mtr.add_suppression("Failed to initialize plugins\\.");
CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg\\(\\)"); CALL mtr.add_suppression("WSREP: gcs/src/gcs_core\\.cpp:core_handle_uuid_msg\\(\\)");
connection node_3; connection node_3;
CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible"); CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node"); CALL mtr.add_suppression("WSREP: It may not be safe to bootstrap the cluster from this node");
@@ -61,7 +61,7 @@ CALL mtr.add_suppression("Plugin 'wsrep' init function returned error\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\.");
CALL mtr.add_suppression("Failed to initialize plugins\\."); CALL mtr.add_suppression("Failed to initialize plugins\\.");
CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg\\(\\)"); CALL mtr.add_suppression("WSREP: gcs/src/gcs_core\\.cpp:core_handle_uuid_msg\\(\\)");
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (

View File

@@ -11,8 +11,8 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--connect node_5, 127.0.0.1, root, , test, $NODE_MYPORT_5 --connect node_5, 127.0.0.1, root, , test, $NODE_MYPORT_5
--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4 --connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
--connection node_4 --connection node_4
--replace_result $NODE_MYPORT_1 NODE_MYPORT_1 --replace_result $NODE_MYPORT_1 NODE_MYPORT_1

View File

@@ -3,6 +3,7 @@
# following tests such as galera_3nodes.galera_var_dirty_reads2 # following tests such as galera_3nodes.galera_var_dirty_reads2
!include ../galera_2x3nodes.cnf !include ../galera_2x3nodes.cnf
[mysqld.1] [mysqld.1]
wsrep_gtid_domain_id=1 wsrep_gtid_domain_id=1
server-id=11 server-id=11

View File

@@ -20,7 +20,6 @@ call mtr.add_suppression("Failed to load slave replication state from table mysq
CREATE USER 'sst'; CREATE USER 'sst';
GRANT ALL PRIVILEGES ON *.* TO 'sst'; GRANT ALL PRIVILEGES ON *.* TO 'sst';
--let $wsrep_sst_auth_orig = `SELECT @@wsrep_sst_auth`
SET GLOBAL wsrep_sst_auth = 'sst:'; SET GLOBAL wsrep_sst_auth = 'sst:';
--connection node_2 --connection node_2

View File

@@ -195,7 +195,7 @@ CALL mtr.add_suppression("Plugin 'wsrep' init function returned error\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\.");
CALL mtr.add_suppression("Failed to initialize plugins\\."); CALL mtr.add_suppression("Failed to initialize plugins\\.");
CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg\\(\\)"); CALL mtr.add_suppression("WSREP: gcs/src/gcs_core\\.cpp:core_handle_uuid_msg\\(\\)");
--connection node_3 --connection node_3
CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible"); CALL mtr.add_suppression("WSREP: no nodes coming from prim view, prim not possible");
@@ -210,7 +210,7 @@ CALL mtr.add_suppression("Plugin 'wsrep' init function returned error\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a STORAGE ENGINE failed\\.");
CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\."); CALL mtr.add_suppression("Plugin 'wsrep' registration as a FUNCTION failed\\.");
CALL mtr.add_suppression("Failed to initialize plugins\\."); CALL mtr.add_suppression("Failed to initialize plugins\\.");
CALL mtr.add_suppression("WSREP: gcs/src/gcs_core.cpp:core_handle_uuid_msg\\(\\)"); CALL mtr.add_suppression("WSREP: gcs/src/gcs_core\\.cpp:core_handle_uuid_msg\\(\\)");
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;

View File

@@ -6,20 +6,26 @@ connection node_2;
connection node_3; connection node_3;
connection node_2; connection node_2;
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal"; SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
CREATE TABLE t1 (f1 VARCHAR(30)) ENGINE=InnoDB; CREATE TABLE t1 (f1 VARCHAR(30) not null primary key) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1; SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary'); INSERT INTO t1 VALUES ('primary1'),('primary2'),('primary3'),('primary4'),('primary5');
COMMIT; COMMIT;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1;
connection node_2;
# restart # restart
connection node_1; connection node_1;
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
COUNT(*) = 0 COUNT(*) = 0
1 1
SELECT * FROM t1;
f1
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
1 1
SELECT * FROM t1;
f1
DROP TABLE t1; DROP TABLE t1;

View File

@@ -44,6 +44,7 @@ connection node_2;
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
EXPECT_0 EXPECT_0
0 0
call mtr.add_suppression("WSREP: node uuid:.*");
connection node_1; connection node_1;
DROP TABLE t1; DROP TABLE t1;
DROP TABLE t2; DROP TABLE t2;

View File

@@ -4,6 +4,7 @@
# #
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_debug_sync.inc --source include/have_debug_sync.inc
--source include/force_restart.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values. # Save original auto_increment_offset values.
@@ -13,30 +14,42 @@
--source ../galera/include/auto_increment_offset_save.inc --source ../galera/include/auto_increment_offset_save.inc
--connection node_2 --connection node_2
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal"; SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')` --let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect --let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
--write_line wait $_expect_file_name --write_line wait $_expect_file_name
CREATE TABLE t1 (f1 VARCHAR(30)) ENGINE=InnoDB; CREATE TABLE t1 (f1 VARCHAR(30) not null primary key) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF; SET AUTOCOMMIT=OFF;
SET SESSION wsrep_trx_fragment_size=1; SET SESSION wsrep_trx_fragment_size=1;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUES ('primary'),('primary'),('primary'),('primary'),('primary'); INSERT INTO t1 VALUES ('primary1'),('primary2'),('primary3'),('primary4'),('primary5');
--error 2013 --error 2013,2026
COMMIT; COMMIT;
--connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
--connection node_2
--source include/start_mysqld.inc --source include/start_mysqld.inc
--connection node_1 --connection node_1
--let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
SELECT * FROM t1;
--connection node_2 --connection node_2
--enable_reconnect --enable_reconnect
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
SELECT * FROM t1;
DROP TABLE t1; DROP TABLE t1;

View File

@@ -6,6 +6,7 @@
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/force_restart.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
# Save original auto_increment_offset values. # Save original auto_increment_offset values.
@@ -86,6 +87,8 @@ SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
--connection node_2 --connection node_2
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
# As noted above sometimes node delivers the same view twice
call mtr.add_suppression("WSREP: node uuid:.*");
--connection node_1 --connection node_1
DROP TABLE t1; DROP TABLE t1;

View File

@@ -9,5 +9,3 @@
# Do not use any TAB characters for whitespace. # Do not use any TAB characters for whitespace.
# #
############################################################################## ##############################################################################
GCF-1060 : MDEV-32160 GCF-1060 test failure due to wsrep MDL conflict

View File

@@ -37,8 +37,9 @@ f1 f2
SET SESSION wsrep_trx_fragment_size = 10000; SET SESSION wsrep_trx_fragment_size = 10000;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUE (10, 'node1'); INSERT INTO t1 VALUE (10, 'node1');
SELECT * FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag COUNT(*)
0
connection node_1a; connection node_1a;
INSERT INTO t1 VALUES(15, 'node2'); INSERT INTO t1 VALUES(15, 'node2');
connection node_1; connection node_1;

View File

@@ -14,23 +14,23 @@ SET SESSION wsrep_trx_fragment_unit=default;
SET SESSION wsrep_trx_fragment_size=default; SET SESSION wsrep_trx_fragment_size=default;
SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 518; SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 518;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
mysqld-bin.000002 518 Gtid 1 560 BEGIN GTID 0-1-2 mysqld-bin.000002 # Gtid 1 # BEGIN GTID 0-1-2
mysqld-bin.000002 560 Annotate_rows 1 613 INSERT INTO t1 VALUES (1), (2) mysqld-bin.000002 # Annotate_rows 1 # INSERT INTO t1 VALUES (1), (2)
mysqld-bin.000002 613 Table_map 1 658 table_id: # (test.t1) mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
mysqld-bin.000002 658 Write_rows_v1 1 696 table_id: # flags: STMT_END_F mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
mysqld-bin.000002 696 Table_map 1 741 table_id: # (test.t1) mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
mysqld-bin.000002 741 Write_rows_v1 1 779 table_id: # flags: STMT_END_F mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
mysqld-bin.000002 779 Xid 1 810 COMMIT /* xid=# */ mysqld-bin.000002 # Xid 1 # COMMIT /* xid=# */
mysqld-bin.000002 810 Gtid 1 852 BEGIN GTID 0-1-3 mysqld-bin.000002 # Gtid 1 # BEGIN GTID 0-1-3
mysqld-bin.000002 852 Annotate_rows 1 905 INSERT INTO t1 VALUES (3), (4) mysqld-bin.000002 # Annotate_rows 1 # INSERT INTO t1 VALUES (3), (4)
mysqld-bin.000002 905 Table_map 1 950 table_id: # (test.t1) mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
mysqld-bin.000002 950 Write_rows_v1 1 988 table_id: # flags: STMT_END_F mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
mysqld-bin.000002 988 Table_map 1 1033 table_id: # (test.t1) mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
mysqld-bin.000002 1033 Write_rows_v1 1 1071 table_id: # flags: STMT_END_F mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
mysqld-bin.000002 1071 Xid 1 1102 COMMIT /* xid=# */ mysqld-bin.000002 # Xid 1 # COMMIT /* xid=# */
mysqld-bin.000002 1102 Gtid 1 1144 BEGIN GTID 0-1-4 mysqld-bin.000002 # Gtid 1 # BEGIN GTID 0-1-4
mysqld-bin.000002 1144 Annotate_rows 1 1197 INSERT INTO t1 VALUES (5), (6) mysqld-bin.000002 # Annotate_rows 1 # INSERT INTO t1 VALUES (5), (6)
mysqld-bin.000002 1197 Table_map 1 1242 table_id: # (test.t1) mysqld-bin.000002 # Table_map 1 # table_id: # (test.t1)
mysqld-bin.000002 1242 Write_rows_v1 1 1285 table_id: # flags: STMT_END_F mysqld-bin.000002 # Write_rows_v1 1 # table_id: # flags: STMT_END_F
mysqld-bin.000002 1285 Xid 1 1316 COMMIT /* xid=# */ mysqld-bin.000002 # Xid 1 # COMMIT /* xid=# */
DROP TABLE t1; DROP TABLE t1;

View File

@@ -15,7 +15,7 @@ SET DEBUG_SYNC='now WAIT_FOR before_fragment';
SET GLOBAL wsrep_cluster_address = ''; SET GLOBAL wsrep_cluster_address = '';
SET DEBUG_SYNC = 'now SIGNAL continue'; SET DEBUG_SYNC = 'now SIGNAL continue';
connection node_2; connection node_2;
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_2a; connection node_2a;
SELECT * FROM mysql.wsrep_streaming_log; SELECT * FROM mysql.wsrep_streaming_log;
node_uuid trx_id seqno flags frag node_uuid trx_id seqno flags frag

View File

@@ -0,0 +1,24 @@
connection node_2;
connection node_1;
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
SET DEBUG_SYNC='trans_xa_commit_after_acquire_commit_lock SIGNAL before_commit WAIT_FOR continue';
XA START 'a';
INSERT INTO t1 VALUES(1);
XA END 'a';
XA PREPARE 'a';
XA COMMIT 'a';;
connection node_1a;
SET DEBUG_SYNC='now WAIT_FOR before_commit';
SET DEBUG_SYNC = 'now SIGNAL continue';
connection node_1;
ERROR 70100: Query execution was interrupted
Expect transaction 'a' in prepared state
XA RECOVER;
formatID gtrid_length bqual_length data
1 1 0 a
XA ROLLBACK 'a';
DROP TABLE t1;
SET DEBUG_SYNC = 'RESET';
disconnect node_1a;

View File

@@ -27,7 +27,7 @@ SET GLOBAL wsrep_cluster_address = '';
SET SESSION wsrep_sync_wait = DEFAULT; SET SESSION wsrep_sync_wait = DEFAULT;
connection node_2; connection node_2;
INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (6);
ERROR HY000: Lost connection to MySQL server during query Got one of the listed errors
connection node_1; connection node_1;
SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log; SELECT COUNT(*) AS EXPECT_0 FROM mysql.wsrep_streaming_log;
EXPECT_0 EXPECT_0

View File

@@ -61,7 +61,7 @@ SET SESSION wsrep_trx_fragment_size = 10000;
START TRANSACTION; START TRANSACTION;
INSERT INTO t1 VALUE (10, 'node1'); INSERT INTO t1 VALUE (10, 'node1');
SELECT * FROM mysql.wsrep_streaming_log; SELECT COUNT(*) FROM mysql.wsrep_streaming_log;
--connection node_1a --connection node_1a
INSERT INTO t1 VALUES(15, 'node2'); INSERT INTO t1 VALUES(15, 'node2');

View File

@@ -12,6 +12,8 @@ CREATE TABLE t1 (f1 INT PRIMARY KEY);
SET SESSION wsrep_trx_fragment_unit='ROWS'; SET SESSION wsrep_trx_fragment_unit='ROWS';
SET SESSION wsrep_trx_fragment_size=1; SET SESSION wsrep_trx_fragment_size=1;
--let $start_pos= query_get_value(SHOW MASTER STATUS, Position, 1)
INSERT INTO t1 VALUES (1), (2); INSERT INTO t1 VALUES (1), (2);
# #
@@ -37,6 +39,7 @@ SET SESSION wsrep_trx_fragment_unit=default;
SET SESSION wsrep_trx_fragment_size=default; SET SESSION wsrep_trx_fragment_size=default;
--replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/ --replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/
SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM 518; --replace_column 2 # 5 #
--eval SHOW BINLOG EVENTS IN 'mysqld-bin.000002' FROM $start_pos
DROP TABLE t1; DROP TABLE t1;

View File

@@ -43,7 +43,8 @@ SET DEBUG_SYNC = 'now SIGNAL continue';
# Disconnect causes connection to node_2 to be closed # Disconnect causes connection to node_2 to be closed
# #
--connection node_2 --connection node_2
--error 2013 # CR_SERVER_LOST # CR_SERVER_LOST, CR_SSL_CONNECTION_ERROR
--error 2013,2026
--reap --reap

View File

@@ -4,6 +4,7 @@
# #
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_sequence.inc
CREATE SEQUENCE SEQ NOCACHE ENGINE=InnoDB; CREATE SEQUENCE SEQ NOCACHE ENGINE=InnoDB;
SET SESSION wsrep_trx_fragment_size=1; SET SESSION wsrep_trx_fragment_size=1;

View File

@@ -0,0 +1,54 @@
#
# MENT-2042 Assertion `bf_aborted()' failed in wsrep::transaction::xa_replay_common()
#
--source include/galera_cluster.inc
--source include/have_debug_sync.inc
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1
--let connection_id = `SELECT CONNECTION_ID()`
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
#
# Execute XA transaction up to COMMIT
#
SET DEBUG_SYNC='trans_xa_commit_after_acquire_commit_lock SIGNAL before_commit WAIT_FOR continue';
XA START 'a';
INSERT INTO t1 VALUES(1);
XA END 'a';
XA PREPARE 'a';
--send XA COMMIT 'a';
#
# Kill the XA COMMIT statement. If bug is present the
# assertion fires.
#
--connection node_1a
SET DEBUG_SYNC='now WAIT_FOR before_commit';
--disable_query_log
--eval KILL QUERY $connection_id
--enable_query_log
SET DEBUG_SYNC = 'now SIGNAL continue';
#
# Expect that the query is interrupted, and the transaction
# is still in prepared state
#
--connection node_1
--error ER_QUERY_INTERRUPTED
--reap
--echo Expect transaction 'a' in prepared state
XA RECOVER;
#
# Cleanup
#
XA ROLLBACK 'a';
DROP TABLE t1;
SET DEBUG_SYNC = 'RESET';
--disconnect node_1a

View File

@@ -51,7 +51,7 @@ SET GLOBAL wsrep_cluster_address = '';
SET SESSION wsrep_sync_wait = DEFAULT; SET SESSION wsrep_sync_wait = DEFAULT;
--connection node_2 --connection node_2
--error 2013 # CR_SERVER_LOST --error 2013,2026
INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (6);
--connection node_1 --connection node_1

View File

@@ -85,4 +85,3 @@ SET SESSION wsrep_trx_fragment_size=0;
# Restore original auto_increment_offset values. # Restore original auto_increment_offset values.
--source ../galera/include/auto_increment_offset_restore.inc --source ../galera/include/auto_increment_offset_restore.inc

View File

@@ -1,3 +1,4 @@
--source include/have_innodb.inc
--source include/have_wsrep_enabled.inc --source include/have_wsrep_enabled.inc
--source include/have_binlog_format_row.inc --source include/have_binlog_format_row.inc

View File

@@ -23,4 +23,3 @@ SHOW STATUS LIKE 'wsrep_thread_count';
--echo # variables --echo # variables
SELECT VARIABLE_NAME FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep%" ORDER BY VARIABLE_NAME; SELECT VARIABLE_NAME FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep%" ORDER BY VARIABLE_NAME;

View File

@@ -8,7 +8,7 @@
--let $galera_version=26.4.21 --let $galera_version=26.4.21
source include/check_galera_version.inc; source include/check_galera_version.inc;
source include/galera_variables_ok.inc; source include/galera_variables_ok_debug.inc;
--replace_column 2 # --replace_column 2 #
SHOW GLOBAL STATUS LIKE 'wsrep%'; SHOW GLOBAL STATUS LIKE 'wsrep%';
@@ -25,4 +25,3 @@ SHOW STATUS LIKE 'wsrep_thread_count';
--echo # variables --echo # variables
SELECT VARIABLE_NAME FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep%" ORDER BY VARIABLE_NAME; SELECT VARIABLE_NAME FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep%" ORDER BY VARIABLE_NAME;