galera mtr tests: synchronization between branches and editions
This commit is contained in:
parent
5003dac220
commit
b983a911e9
@ -95,7 +95,6 @@ id val
|
|||||||
4 d
|
4 d
|
||||||
5 d
|
5 d
|
||||||
6 d
|
6 d
|
||||||
set global wsrep_mode=default;
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
drop table t1,t2,t3,t4,t5;
|
drop table t1,t2,t3,t4,t5;
|
||||||
set global wsrep_mode=default;
|
set global wsrep_mode=default;
|
||||||
|
@ -26,3 +26,4 @@ COUNT(*) = 1
|
|||||||
1
|
1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET GLOBAL wsrep_mode = DEFAULT;
|
||||||
|
@ -51,7 +51,7 @@ FOUND 1 /Desyncing and pausing the provider/ in mysqld.2.err
|
|||||||
FOUND 1 /Resuming and resyncing the provider/ in mysqld.2.err
|
FOUND 1 /Resuming and resyncing the provider/ in mysqld.2.err
|
||||||
# Should return FOUND 1 because only last backup does not desync
|
# Should return FOUND 1 because only last backup does not desync
|
||||||
FOUND 1 /Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used./ in mysqld.2.err
|
FOUND 1 /Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used./ in mysqld.2.err
|
||||||
SET GLOBAL wsrep_mode = "";
|
SET GLOBAL wsrep_mode = DEFAULT;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
disconnect node_2;
|
disconnect node_2;
|
||||||
|
@ -22,7 +22,7 @@ INSERT INTO t1 VALUES (2, "bbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=gcs_core_after_frag_send';
|
SET GLOBAL wsrep_provider_options = 'signal=gcs_core_after_frag_send';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR HY000: Got error 6 "No such device or address" during COMMIT
|
ERROR HY000: Error while appending streaming replication fragment(provider status: Not connected to Primary Component)
|
||||||
INSERT INTO t1 VALUES (3, "cccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
|
INSERT INTO t1 VALUES (3, "cccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
f1 f2
|
f1 f2
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
connection node_2;
|
connection node_2;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine partition for table.*");
|
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine partition for table");
|
||||||
# wsrep-mode= DEFAULT
|
# wsrep-mode= DEFAULT
|
||||||
SET GLOBAL wsrep_mode = "";
|
SET GLOBAL wsrep_mode = "";
|
||||||
SELECT @@wsrep_mode;
|
SELECT @@wsrep_mode;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
connection node_2;
|
connection node_2;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine .*");
|
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine ");
|
||||||
CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
|
CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
|
||||||
CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
|
CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
|
||||||
CREATE TABLE t3(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=ARIA;
|
CREATE TABLE t3(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=ARIA;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
connection node_2;
|
connection node_2;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table .*");
|
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled\\. Table ");
|
||||||
CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
|
CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
|
||||||
CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
|
CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
|
||||||
CREATE TABLE t3(a int, b varchar(50)) ENGINE=MEMORY;
|
CREATE TABLE t3(a int, b varchar(50)) ENGINE=MEMORY;
|
||||||
|
@ -4,7 +4,7 @@ create table t1 (id serial, val int) engine=innodb;
|
|||||||
create table t2 (id serial, val int) engine=aria;
|
create table t2 (id serial, val int) engine=aria;
|
||||||
insert into t1 values(1, 23);
|
insert into t1 values(1, 23);
|
||||||
insert into t2 values(2, 42);
|
insert into t2 values(2, 42);
|
||||||
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental. Storage engine Aria for table 'test'.'t2' is not supported in Galera");
|
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental\\. Storage engine Aria for table 'test'\\.'t2' is not supported in Galera");
|
||||||
begin;
|
begin;
|
||||||
update t1 set val=24 where id=1;
|
update t1 set val=24 where id=1;
|
||||||
update t2 set val=41 where id=2;
|
update t2 set val=41 where id=2;
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
# transaction in the MDL conflict handling code.
|
# transaction in the MDL conflict handling code.
|
||||||
|
|
||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
--source include/have_debug.inc
|
--source include/have_debug.inc
|
||||||
|
|
||||||
|
@ -45,7 +45,6 @@ select * from t2;
|
|||||||
select * from t3;
|
select * from t3;
|
||||||
select * from t4;
|
select * from t4;
|
||||||
select * from t5;
|
select * from t5;
|
||||||
set global wsrep_mode=default;
|
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
drop table t1,t2,t3,t4,t5;
|
drop table t1,t2,t3,t4,t5;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
|
--source include/have_innodb.inc
|
||||||
|
|
||||||
--echo # On node_1
|
--echo # On node_1
|
||||||
--connection node_1
|
--connection node_1
|
||||||
|
@ -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
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -35,7 +36,4 @@ SELECT COUNT(*) = 1 FROM t1;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
--disable_query_log
|
|
||||||
SET GLOBAL wsrep_mode = DEFAULT;
|
SET GLOBAL wsrep_mode = DEFAULT;
|
||||||
--enable_query_log
|
|
||||||
|
|
||||||
|
@ -6,10 +6,10 @@ wsrep_sst_auth="root:"
|
|||||||
wsrep_debug=1
|
wsrep_debug=1
|
||||||
|
|
||||||
[mysqld.1]
|
[mysqld.1]
|
||||||
wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=1;pc.ignore_sb=true'
|
wsrep_provider_options='pc.ignore_sb=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=1'
|
||||||
|
|
||||||
[mysqld.2]
|
[mysqld.2]
|
||||||
wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=1;pc.ignore_sb=true'
|
wsrep_provider_options='pc.ignore_sb=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=1'
|
||||||
|
|
||||||
[sst]
|
[sst]
|
||||||
transferfmt=@ENV.MTR_GALERA_TFMT
|
transferfmt=@ENV.MTR_GALERA_TFMT
|
||||||
|
@ -126,7 +126,7 @@ let SEARCH_PATTERN = Resuming and resyncing the provider;
|
|||||||
let SEARCH_PATTERN = Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used.;
|
let SEARCH_PATTERN = Server not desynched from group because WSREP_MODE_BF_MARIABACKUP used.;
|
||||||
--source include/search_pattern_in_file.inc
|
--source include/search_pattern_in_file.inc
|
||||||
|
|
||||||
SET GLOBAL wsrep_mode = "";
|
SET GLOBAL wsrep_mode = DEFAULT;
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
@ -89,7 +89,7 @@ SET DEBUG_SYNC = "now SIGNAL continue_kill";
|
|||||||
--reap
|
--reap
|
||||||
|
|
||||||
--connection node_2a
|
--connection node_2a
|
||||||
--error 0,1213,2013
|
--error 0,1213,2013,2026
|
||||||
select * from t1;
|
select * from t1;
|
||||||
|
|
||||||
--connection node_2b
|
--connection node_2b
|
||||||
@ -130,7 +130,7 @@ SET DEBUG_SYNC = "now WAIT_FOR bwoc_reached";
|
|||||||
|
|
||||||
SET DEBUG_SYNC = "now SIGNAL bwoc_continue";
|
SET DEBUG_SYNC = "now SIGNAL bwoc_continue";
|
||||||
--connection node_2a
|
--connection node_2a
|
||||||
--error 0,1213
|
--error 0,1213,2013,2026
|
||||||
--reap
|
--reap
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
|
@ -101,4 +101,3 @@ DROP TABLE tab;
|
|||||||
DROP TABLE tab1;
|
DROP TABLE tab1;
|
||||||
DROP TABLE tab2;
|
DROP TABLE tab2;
|
||||||
DROP TABLE tab3;
|
DROP TABLE tab3;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
--source include/have_aria.inc
|
--source include/have_aria.inc
|
||||||
|
|
||||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine partition for table.*");
|
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine partition for table");
|
||||||
|
|
||||||
--echo # wsrep-mode= DEFAULT
|
--echo # wsrep-mode= DEFAULT
|
||||||
SET GLOBAL wsrep_mode = "";
|
SET GLOBAL wsrep_mode = "";
|
||||||
|
@ -15,9 +15,10 @@
|
|||||||
# In both cases apply flood control if >= 10 same warning
|
# In both cases apply flood control if >= 10 same warning
|
||||||
#
|
#
|
||||||
--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
|
||||||
|
|
||||||
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled. Storage engine .*");
|
call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine ");
|
||||||
|
|
||||||
CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
|
CREATE TABLE t1(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=INNODB;
|
||||||
CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
|
CREATE TABLE t2(a int NOT NULL PRIMARY KEY, b varchar(50)) ENGINE=MYISAM;
|
||||||
@ -114,4 +115,3 @@ DROP TABLE t1,t2,t3,t4;
|
|||||||
SET GLOBAL log_warnings=DEFAULT;
|
SET GLOBAL log_warnings=DEFAULT;
|
||||||
SET GLOBAL wsrep_mode=DEFAULT;
|
SET GLOBAL wsrep_mode=DEFAULT;
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
|
||||||
|
@ -14,9 +14,10 @@
|
|||||||
# In both cases apply flood control if >= 10 same warning
|
# In both cases apply flood control if >= 10 same warning
|
||||||
#
|
#
|
||||||
--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
|
||||||
|
|
||||||
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled. Table .*");
|
call mtr.add_suppression("WSREP: wsrep_mode = REQUIRED_PRIMARY_KEY enabled\\. Table ");
|
||||||
|
|
||||||
CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
|
CREATE TABLE t1(a int, b varchar(50)) ENGINE=INNODB;
|
||||||
CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
|
CREATE TABLE t2(a int, b varchar(50)) ENGINE=MYISAM;
|
||||||
@ -140,4 +141,3 @@ DROP TABLE t1,t2,t3,t4;
|
|||||||
SET GLOBAL log_warnings=DEFAULT;
|
SET GLOBAL log_warnings=DEFAULT;
|
||||||
SET GLOBAL wsrep_mode=DEFAULT;
|
SET GLOBAL wsrep_mode=DEFAULT;
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
|
||||||
|
@ -94,11 +94,13 @@ SELECT * FROM t1;
|
|||||||
--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
|
--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
|
||||||
--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node1
|
--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node1
|
||||||
--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node1
|
--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node1
|
||||||
|
--disconnect node_1a
|
||||||
|
|
||||||
--connection node_2
|
--connection node_2
|
||||||
--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
|
--eval SET GLOBAL wsrep_auto_increment_control = $auto_increment_control_orig
|
||||||
--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node2
|
--eval SET GLOBAL auto_increment_increment = $auto_increment_increment_node2
|
||||||
--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node2
|
--eval SET GLOBAL auto_increment_offset = $auto_increment_offset_node2
|
||||||
|
--disconnect node_2a
|
||||||
|
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
--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 (f1 INT PRIMARY KEY) Engine=Aria;
|
CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=Aria;
|
||||||
|
@ -234,4 +234,3 @@ SET GLOBAL wsrep_mode = DEFAULT;
|
|||||||
--connection node_2
|
--connection node_2
|
||||||
SET GLOBAL wsrep_mode = DEFAULT;
|
SET GLOBAL wsrep_mode = DEFAULT;
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
|
|
||||||
|
@ -57,9 +57,3 @@ SELECT @@wsrep_mode;
|
|||||||
|
|
||||||
# reset
|
# reset
|
||||||
SET GLOBAL wsrep_mode=DEFAULT;
|
SET GLOBAL wsrep_mode=DEFAULT;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,4 +10,3 @@ SELECT @@global.wsrep_strict_ddl;
|
|||||||
SET @@global.wsrep_strict_ddl=OFF;
|
SET @@global.wsrep_strict_ddl=OFF;
|
||||||
SELECT @@global.wsrep_mode;
|
SELECT @@global.wsrep_mode;
|
||||||
SELECT @@global.wsrep_strict_ddl;
|
SELECT @@global.wsrep_strict_ddl;
|
||||||
|
|
||||||
|
@ -91,10 +91,6 @@ CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with
|
|||||||
|
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
|
||||||
--let $node_3=node_3
|
|
||||||
--let $auto_increment_offset_node_3 = 3;
|
|
||||||
--let $node_4=node_4
|
|
||||||
--let $auto_increment_offset_node_4 = 4;
|
|
||||||
--source suite/galera/include/auto_increment_offset_restore.inc
|
--source suite/galera/include/auto_increment_offset_restore.inc
|
||||||
|
|
||||||
--disconnect node_3
|
--disconnect node_3
|
||||||
|
@ -16,7 +16,6 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET GLOBAL wsrep_mode = default;
|
SET GLOBAL wsrep_mode = default;
|
||||||
|
|
||||||
|
|
||||||
# MDEV-25698 SIGSEGV in wsrep_should_replicate_ddl
|
# MDEV-25698 SIGSEGV in wsrep_should_replicate_ddl
|
||||||
|
|
||||||
SET GLOBAL wsrep_mode = STRICT_REPLICATION;
|
SET GLOBAL wsrep_mode = STRICT_REPLICATION;
|
||||||
|
@ -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 int) engine=innodb;
|
create table t1 (id serial, val int) engine=innodb;
|
||||||
@ -6,7 +7,8 @@ create table t2 (id serial, val int) engine=aria;
|
|||||||
|
|
||||||
insert into t1 values(1, 23);
|
insert into t1 values(1, 23);
|
||||||
insert into t2 values(2, 42);
|
insert into t2 values(2, 42);
|
||||||
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental. Storage engine Aria for table 'test'.'t2' is not supported in Galera");
|
|
||||||
|
call mtr.add_suppression("WSREP: Replication of non-transactional engines is experimental\\. Storage engine Aria for table 'test'\\.'t2' is not supported in Galera");
|
||||||
|
|
||||||
begin;
|
begin;
|
||||||
update t1 set val=24 where id=1;
|
update t1 set val=24 where id=1;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
--source include/galera_cluster.inc
|
--source include/galera_cluster.inc
|
||||||
|
--source include/have_innodb.inc
|
||||||
--source include/have_debug.inc
|
--source include/have_debug.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
|
@ -5,12 +5,12 @@ wsrep_sst_method=rsync
|
|||||||
|
|
||||||
[mysqld.1]
|
[mysqld.1]
|
||||||
wsrep_node_name='node.1'
|
wsrep_node_name='node.1'
|
||||||
wsrep_provider_options='base_port=@mysqld.1.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true'
|
wsrep_provider_options='socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
|
||||||
|
|
||||||
[mysqld.2]
|
[mysqld.2]
|
||||||
wsrep_node_name='node.2'
|
wsrep_node_name='node.2'
|
||||||
wsrep_provider_options='base_port=@mysqld.2.#galera_port'
|
wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
|
||||||
|
|
||||||
[mysqld.3]
|
[mysqld.3]
|
||||||
wsrep_node_name='node.3'
|
wsrep_node_name='node.3'
|
||||||
wsrep_provider_options='base_port=@mysqld.3.#galera_port;socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true'
|
wsrep_provider_options='socket.ssl=yes;socket.ssl_cert=@ENV.MYSQL_TEST_DIR/std_data/galera-cert.pem;socket.ssl_key=@ENV.MYSQL_TEST_DIR/std_data/galera-key.pem;socket.dynamic=true;repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#galera_port;evs.suspect_timeout=PT10S;evs.inactive_timeout=PT30S;evs.install_timeout=PT15S;pc.wait_prim_timeout=PT60S;gcache.size=10M'
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
--let $node_3 = node_3
|
--let $node_3 = node_3
|
||||||
--source ../galera/include/auto_increment_offset_save.inc
|
--source ../galera/include/auto_increment_offset_save.inc
|
||||||
|
|
||||||
|
|
||||||
--connection node_1
|
--connection node_1
|
||||||
--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
|
--let $wait_condition = SELECT VARIABLE_VALUE = 'Synced' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_state_comment';
|
||||||
--source include/wait_condition.inc
|
--source include/wait_condition.inc
|
||||||
|
@ -45,7 +45,7 @@ SET SESSION wsrep_sync_wait = 0;
|
|||||||
SET SESSION wsrep_sync_wait = DEFAULT;
|
SET SESSION wsrep_sync_wait = DEFAULT;
|
||||||
SET DEBUG_SYNC = 'now SIGNAL continue';
|
SET DEBUG_SYNC = 'now SIGNAL continue';
|
||||||
connection node_2;
|
connection node_2;
|
||||||
ERROR HY000: Got error 6 "No such device or address" during COMMIT
|
ERROR HY000: Error while appending streaming replication fragment(provider status: Not connected to Primary Component)
|
||||||
connection node_2a;
|
connection node_2a;
|
||||||
SET DEBUG_SYNC = 'RESET';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
|
@ -7774,6 +7774,7 @@ int handler::ha_write_row(const uchar *buf)
|
|||||||
Log_func *log_func= Write_rows_log_event::binlog_row_logging_function;
|
Log_func *log_func= Write_rows_log_event::binlog_row_logging_function;
|
||||||
error= binlog_log_row(table, 0, buf, log_func);
|
error= binlog_log_row(table, 0, buf, log_func);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_WSREP
|
#ifdef WITH_WSREP
|
||||||
THD *thd= ha_thd();
|
THD *thd= ha_thd();
|
||||||
if (WSREP_NNULL(thd) && table_share->tmp_table == NO_TMP_TABLE &&
|
if (WSREP_NNULL(thd) && table_share->tmp_table == NO_TMP_TABLE &&
|
||||||
|
@ -2473,25 +2473,22 @@ bool wsrep_should_replicate_ddl(THD* thd, const handlerton *hton)
|
|||||||
case DB_TYPE_MYISAM:
|
case DB_TYPE_MYISAM:
|
||||||
if (wsrep_check_mode(WSREP_MODE_REPLICATE_MYISAM))
|
if (wsrep_check_mode(WSREP_MODE_REPLICATE_MYISAM))
|
||||||
return true;
|
return true;
|
||||||
else
|
break;
|
||||||
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
case DB_TYPE_ARIA:
|
||||||
|
if (wsrep_check_mode(WSREP_MODE_REPLICATE_ARIA))
|
||||||
|
return true;
|
||||||
break;
|
break;
|
||||||
case DB_TYPE_PARTITION_DB:
|
case DB_TYPE_PARTITION_DB:
|
||||||
/* In most cases this means we could not find out
|
/* In most cases this means we could not find out
|
||||||
table->file->partition_ht() */
|
table->file->partition_ht() */
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
case DB_TYPE_ARIA:
|
|
||||||
if (wsrep_check_mode(WSREP_MODE_REPLICATE_ARIA))
|
|
||||||
return true;
|
|
||||||
else
|
|
||||||
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WSREP_DEBUG("wsrep OSU failed for %s", wsrep_thd_query(thd));
|
||||||
|
|
||||||
/* wsrep_mode = STRICT_REPLICATION, treat as error */
|
/* wsrep_mode = STRICT_REPLICATION, treat as error */
|
||||||
my_error(ER_GALERA_REPLICATION_NOT_SUPPORTED, MYF(0));
|
my_error(ER_GALERA_REPLICATION_NOT_SUPPORTED, MYF(0));
|
||||||
push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
|
push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
|
||||||
@ -2506,15 +2503,14 @@ bool wsrep_should_replicate_ddl_iterate(THD* thd, const TABLE_LIST* table_list)
|
|||||||
{
|
{
|
||||||
for (const TABLE_LIST* it= table_list; it; it= it->next_global)
|
for (const TABLE_LIST* it= table_list; it; it= it->next_global)
|
||||||
{
|
{
|
||||||
if (it->table && !it->table_function)
|
const TABLE* table= it->table;
|
||||||
|
if (table && !it->table_function)
|
||||||
{
|
{
|
||||||
/* If this is partitioned table we need to find out
|
/* If this is partitioned table we need to find out
|
||||||
implementing storage engine handlerton.
|
implementing storage engine handlerton.
|
||||||
*/
|
*/
|
||||||
const handlerton *ht= it->table->file->partition_ht() ?
|
const handlerton *ht= table->file->partition_ht();
|
||||||
it->table->file->partition_ht() :
|
if (!ht) ht= table->s->db_type();
|
||||||
it->table->s->db_type();
|
|
||||||
|
|
||||||
if (!wsrep_should_replicate_ddl(thd, ht))
|
if (!wsrep_should_replicate_ddl(thd, ht))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -3208,6 +3204,7 @@ void wsrep_handle_mdl_conflict(MDL_context *requestor_ctx,
|
|||||||
THD *request_thd= requestor_ctx->get_thd();
|
THD *request_thd= requestor_ctx->get_thd();
|
||||||
|
|
||||||
mysql_mutex_lock(&request_thd->LOCK_thd_data);
|
mysql_mutex_lock(&request_thd->LOCK_thd_data);
|
||||||
|
|
||||||
if (wsrep_thd_is_toi(request_thd) ||
|
if (wsrep_thd_is_toi(request_thd) ||
|
||||||
wsrep_thd_is_applying(request_thd))
|
wsrep_thd_is_applying(request_thd))
|
||||||
{
|
{
|
||||||
|
@ -237,25 +237,13 @@ static inline void wsrep_override_error(THD* thd,
|
|||||||
wsrep::client_error ce,
|
wsrep::client_error ce,
|
||||||
enum wsrep::provider::status status)
|
enum wsrep::provider::status status)
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(ce != wsrep::e_success);
|
DBUG_ASSERT(ce != wsrep::e_success);
|
||||||
switch (ce)
|
switch (ce)
|
||||||
{
|
{
|
||||||
case wsrep::e_error_during_commit:
|
case wsrep::e_error_during_commit:
|
||||||
if (status == wsrep::provider::error_size_exceeded)
|
if (status == wsrep::provider::error_size_exceeded)
|
||||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR, "Maximum writeset size exceeded");
|
|
||||||
else
|
|
||||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT, 0, status);
|
|
||||||
break;
|
|
||||||
case wsrep::e_deadlock_error:
|
|
||||||
wsrep_override_error(thd, ER_LOCK_DEADLOCK);
|
|
||||||
break;
|
|
||||||
case wsrep::e_interrupted_error:
|
|
||||||
wsrep_override_error(thd, ER_QUERY_INTERRUPTED);
|
|
||||||
break;
|
|
||||||
case wsrep::e_size_exceeded_error:
|
|
||||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR, "Maximum writeset size exceeded");
|
wsrep_override_error(thd, ER_UNKNOWN_ERROR, "Maximum writeset size exceeded");
|
||||||
break;
|
else
|
||||||
case wsrep::e_append_fragment_error:
|
|
||||||
/* TODO: Figure out better error number */
|
/* TODO: Figure out better error number */
|
||||||
if (status)
|
if (status)
|
||||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||||
@ -265,17 +253,45 @@ static inline void wsrep_override_error(THD* thd,
|
|||||||
else
|
else
|
||||||
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||||
"Error while appending streaming replication fragment");
|
"Error while appending streaming replication fragment");
|
||||||
break;
|
break;
|
||||||
case wsrep::e_not_supported_error:
|
case wsrep::e_deadlock_error:
|
||||||
wsrep_override_error(thd, ER_NOT_SUPPORTED_YET);
|
switch (thd->lex->sql_command)
|
||||||
break;
|
{
|
||||||
case wsrep::e_timeout_error:
|
case SQLCOM_XA_END:
|
||||||
wsrep_override_error(thd, ER_LOCK_WAIT_TIMEOUT);
|
case SQLCOM_XA_PREPARE:
|
||||||
|
wsrep_override_error(thd, ER_XA_RBDEADLOCK);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
wsrep_override_error(thd, ER_UNKNOWN_ERROR);
|
wsrep_override_error(thd, ER_LOCK_DEADLOCK);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case wsrep::e_interrupted_error:
|
||||||
|
wsrep_override_error(thd, ER_QUERY_INTERRUPTED);
|
||||||
|
break;
|
||||||
|
case wsrep::e_size_exceeded_error:
|
||||||
|
wsrep_override_error(thd, ER_UNKNOWN_ERROR, "Maximum writeset size exceeded");
|
||||||
|
break;
|
||||||
|
case wsrep::e_append_fragment_error:
|
||||||
|
/* TODO: Figure out better error number */
|
||||||
|
if (status)
|
||||||
|
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||||
|
"Error while appending streaming replication fragment"
|
||||||
|
"(provider status: %s)",
|
||||||
|
wsrep::provider::to_string(status).c_str());
|
||||||
|
else
|
||||||
|
wsrep_override_error(thd, ER_ERROR_DURING_COMMIT,
|
||||||
|
"Error while appending streaming replication fragment");
|
||||||
|
break;
|
||||||
|
case wsrep::e_not_supported_error:
|
||||||
|
wsrep_override_error(thd, ER_NOT_SUPPORTED_YET);
|
||||||
|
break;
|
||||||
|
case wsrep::e_timeout_error:
|
||||||
|
wsrep_override_error(thd, ER_LOCK_WAIT_TIMEOUT);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
wsrep_override_error(thd, ER_UNKNOWN_ERROR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user