20 changed files with 653 additions and 31 deletions
-
1include/my_pthread.h
-
46mysql-test/suite/galera/r/galera_var_wsrep_on_off.result
-
57mysql-test/suite/galera/t/galera_var_wsrep_on_off.test
-
89mysql-test/suite/galera_3nodes/r/galera_2_cluster.result
-
94mysql-test/suite/galera_3nodes/r/galera_wsrep_schema_init.result
-
25mysql-test/suite/galera_3nodes/t/galera_2_cluster.cnf
-
148mysql-test/suite/galera_3nodes/t/galera_2_cluster.test
-
5mysql-test/suite/galera_3nodes/t/galera_wsrep_schema_init.cnf
-
58mysql-test/suite/galera_3nodes/t/galera_wsrep_schema_init.test
-
24mysql-test/suite/galera_sr/r/MDEV-25226.result
-
33mysql-test/suite/galera_sr/t/MDEV-25226.test
-
19sql/mysqld.cc
-
11sql/sql_admin.cc
-
2sql/sql_alter.cc
-
12sql/wsrep_mysqld.cc
-
7sql/wsrep_mysqld.h
-
36sql/wsrep_schema.cc
-
2sql/wsrep_trans_observer.h
-
14sql/wsrep_var.cc
-
1sql/wsrep_var.h
@ -0,0 +1,89 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
connect node_5, 127.0.0.1, root, , test, $NODE_MYPORT_5; |
|||
connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4; |
|||
connection node_4; |
|||
CHANGE MASTER TO master_host='127.0.0.1', master_user='root', master_port=NODE_MYPORT_1, master_use_gtid=current_pos;; |
|||
START SLAVE; |
|||
include/wait_for_slave_to_start.inc |
|||
connection node_1; |
|||
CREATE TABLE t1(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INTEGER); |
|||
INSERT INTO t1(c2) VALUES(1); |
|||
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3; |
|||
connection node_3; |
|||
SELECT COUNT(*) = 1 FROM t1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
connection node_1; |
|||
include/save_master_gtid.inc |
|||
connection node_4; |
|||
include/sync_with_master_gtid.inc |
|||
SELECT COUNT(*) = 1 FROM t1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
connect node_6, 127.0.0.1, root, , test, $NODE_MYPORT_6; |
|||
connection node_6; |
|||
SELECT COUNT(*) = 1 FROM t1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
connection node_2; |
|||
ALTER TABLE t1 ADD COLUMN t3 INTEGER; |
|||
Node 2 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
COUNT(*) = 3 |
|||
1 |
|||
connection node_3; |
|||
Node 3 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
COUNT(*) = 3 |
|||
1 |
|||
connection node_1; |
|||
include/save_master_gtid.inc |
|||
connection node_4; |
|||
include/sync_with_master_gtid.inc |
|||
Node 4 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
COUNT(*) = 3 |
|||
1 |
|||
connection node_6; |
|||
Node 6 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
COUNT(*) = 3 |
|||
1 |
|||
connection node_2; |
|||
OPTIMIZE TABLE t1; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead |
|||
test.t1 optimize status OK |
|||
connection node_1; |
|||
connection node_4; |
|||
connection node_6; |
|||
connection node_1; |
|||
DROP TABLE t1; |
|||
connection node_4; |
|||
STOP SLAVE; |
|||
RESET SLAVE; |
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
SET GLOBAL GTID_SLAVE_POS=""; |
|||
connection node_1; |
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
connection node_2; |
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
connection node_3; |
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
connection node_5; |
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
connection node_6; |
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
@ -0,0 +1,94 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3; |
|||
connection node_1; |
|||
connection node_1; |
|||
connection node_2; |
|||
connection node_3; |
|||
SHOW CREATE TABLE mysql.wsrep_cluster; |
|||
Table Create Table |
|||
wsrep_cluster CREATE TABLE `wsrep_cluster` ( |
|||
`cluster_uuid` char(36) NOT NULL, |
|||
`view_id` bigint(20) NOT NULL, |
|||
`view_seqno` bigint(20) NOT NULL, |
|||
`protocol_version` int(11) NOT NULL, |
|||
`capabilities` int(11) NOT NULL, |
|||
PRIMARY KEY (`cluster_uuid`) |
|||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
|||
SHOW CREATE TABLE mysql.wsrep_cluster_members; |
|||
Table Create Table |
|||
wsrep_cluster_members CREATE TABLE `wsrep_cluster_members` ( |
|||
`node_uuid` char(36) NOT NULL, |
|||
`cluster_uuid` char(36) NOT NULL, |
|||
`node_name` char(32) NOT NULL, |
|||
`node_incoming_address` varchar(256) NOT NULL, |
|||
PRIMARY KEY (`node_uuid`) |
|||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
|||
SELECT @@sql_safe_updates; |
|||
@@sql_safe_updates |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; |
|||
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') |
|||
1 |
|||
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; |
|||
COUNT(*) = 3 |
|||
1 |
|||
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; |
|||
COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid'); |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; |
|||
node_incoming_address LIKE '127.0.0.1:%' |
|||
1 |
|||
1 |
|||
1 |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members; |
|||
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') |
|||
1 |
|||
1 |
|||
1 |
|||
connection node_2; |
|||
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; |
|||
COUNT(*) = 3 |
|||
1 |
|||
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; |
|||
COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid'); |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; |
|||
node_incoming_address LIKE '127.0.0.1:%' |
|||
1 |
|||
1 |
|||
1 |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members; |
|||
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') |
|||
1 |
|||
1 |
|||
1 |
|||
connection node_3; |
|||
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; |
|||
COUNT(*) = 3 |
|||
1 |
|||
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; |
|||
COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid'); |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; |
|||
node_incoming_address LIKE '127.0.0.1:%' |
|||
1 |
|||
1 |
|||
1 |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members; |
|||
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') |
|||
1 |
|||
1 |
|||
1 |
|||
@ -0,0 +1,25 @@ |
|||
!include ../galera_2x3nodes.cnf |
|||
|
|||
[mysqld.1] |
|||
wsrep_gtid_domain_id=1 |
|||
server-id=11 |
|||
|
|||
[mysqld.2] |
|||
wsrep_gtid_domain_id=1 |
|||
server-id=12 |
|||
|
|||
[mysqld.3] |
|||
wsrep_gtid_domain_id=1 |
|||
server-id=13 |
|||
|
|||
[mysqld.4] |
|||
wsrep_gtid_domain_id=2 |
|||
server-id=21 |
|||
|
|||
[mysqld.5] |
|||
wsrep_gtid_domain_id=2 |
|||
server-id=22 |
|||
|
|||
[mysqld.6] |
|||
wsrep_gtid_domain_id=2 |
|||
server-id=23 |
|||
@ -0,0 +1,148 @@ |
|||
# |
|||
# This test creates 2x3 nodes galera cluster. |
|||
# |
|||
# A(1) <-> B(2) <-> C(3) {Galera cluster 1} |
|||
# | {Circular Async replication} |
|||
# D(4) <-> E(5) <-> F(6) {Galera cluster 2} |
|||
# |
|||
|
|||
--source include/big_test.inc |
|||
--source include/galera_cluster.inc |
|||
--source include/have_innodb.inc |
|||
|
|||
--connect node_5, 127.0.0.1, root, , test, $NODE_MYPORT_5 |
|||
|
|||
--connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4 |
|||
--connection node_4 |
|||
|
|||
--replace_result $NODE_MYPORT_1 NODE_MYPORT_1 |
|||
--eval CHANGE MASTER TO master_host='127.0.0.1', master_user='root', master_port=$NODE_MYPORT_1, master_use_gtid=current_pos; |
|||
START SLAVE; |
|||
--source include/wait_for_slave_to_start.inc |
|||
|
|||
# |
|||
# CREATE TABLE & INSERT |
|||
# |
|||
|
|||
--connection node_1 |
|||
|
|||
CREATE TABLE t1(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 INTEGER); |
|||
INSERT INTO t1(c2) VALUES(1); |
|||
|
|||
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 |
|||
--connection node_3 |
|||
|
|||
SELECT COUNT(*) = 1 FROM t1; |
|||
|
|||
--connection node_1 |
|||
--source include/save_master_gtid.inc |
|||
|
|||
--connection node_4 |
|||
--source include/sync_with_master_gtid.inc |
|||
|
|||
SELECT COUNT(*) = 1 FROM t1; |
|||
|
|||
--connect node_6, 127.0.0.1, root, , test, $NODE_MYPORT_6 |
|||
--connection node_6 |
|||
|
|||
SELECT COUNT(*) = 1 FROM t1; |
|||
|
|||
# |
|||
# ALTER TABLE |
|||
# |
|||
|
|||
--connection node_2 |
|||
|
|||
ALTER TABLE t1 ADD COLUMN t3 INTEGER; |
|||
--echo Node 2 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
|
|||
--connection node_3 |
|||
|
|||
--echo Node 3 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
|
|||
--connection node_1 |
|||
--source include/save_master_gtid.inc |
|||
|
|||
--connection node_4 |
|||
--source include/sync_with_master_gtid.inc |
|||
|
|||
--echo Node 4 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
|
|||
--connection node_6 |
|||
|
|||
--echo Node 6 column number AFTER ALTER |
|||
SELECT COUNT(*) = 3 FROM information_schema.columns WHERE table_name ='t1'; |
|||
|
|||
# |
|||
# OPTIMIZE TABLE |
|||
# |
|||
|
|||
--connection node_2 |
|||
|
|||
--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'` |
|||
OPTIMIZE TABLE t1; |
|||
|
|||
--connection node_1 |
|||
|
|||
--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 |
|||
|
|||
--connection node_4 |
|||
|
|||
--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 |
|||
|
|||
--connection node_6 |
|||
|
|||
--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 |
|||
|
|||
# |
|||
# Cleanup |
|||
# |
|||
|
|||
--connection node_1 |
|||
|
|||
DROP TABLE t1; |
|||
|
|||
--connection node_4 |
|||
|
|||
STOP SLAVE; |
|||
RESET SLAVE; |
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
SET GLOBAL GTID_SLAVE_POS=""; |
|||
|
|||
--connection node_1 |
|||
|
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
|
|||
--connection node_2 |
|||
|
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
|
|||
--connection node_3 |
|||
|
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
|
|||
--connection node_5 |
|||
|
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
|
|||
--connection node_6 |
|||
|
|||
SET GLOBAL wsrep_on = OFF; |
|||
RESET MASTER; |
|||
SET GLOBAL wsrep_on = ON; |
|||
@ -0,0 +1,5 @@ |
|||
!include ../galera_3nodes.cnf |
|||
|
|||
[mysqld] |
|||
sql-safe-updates=1 |
|||
wsrep-debug=1 |
|||
@ -0,0 +1,58 @@ |
|||
# |
|||
# This test performs basic checks on the contents of the wsrep_schema |
|||
# |
|||
# wsrep_members_history checks are temporarily disabled until it |
|||
# can be made configurable. |
|||
# |
|||
|
|||
--source include/galera_cluster.inc |
|||
--source include/have_innodb.inc |
|||
|
|||
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 |
|||
--connection node_1 |
|||
# Save original auto_increment_offset values. |
|||
--let $node_1=node_1 |
|||
--let $node_2=node_2 |
|||
--let $node_3=node_3 |
|||
--source ../galera/include/auto_increment_offset_save.inc |
|||
|
|||
# Make the test fail if table structure has changed |
|||
|
|||
SHOW CREATE TABLE mysql.wsrep_cluster; |
|||
SHOW CREATE TABLE mysql.wsrep_cluster_members; |
|||
#disabled SHOW CREATE TABLE mysql.wsrep_member_history; |
|||
SELECT @@sql_safe_updates; |
|||
|
|||
# Checks for the wsrep_cluster table |
|||
|
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster; |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; |
|||
|
|||
# Checks for the wsrep_cluster_members table |
|||
|
|||
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; |
|||
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; |
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid'); |
|||
|
|||
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members; |
|||
|
|||
--connection node_2 |
|||
|
|||
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; |
|||
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; |
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid'); |
|||
|
|||
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members; |
|||
|
|||
--connection node_3 |
|||
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; |
|||
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; |
|||
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid'); |
|||
|
|||
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; |
|||
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members; |
|||
|
|||
--source ../galera/include/auto_increment_offset_restore.inc |
|||
|
|||
@ -0,0 +1,24 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY); |
|||
SET SESSION wsrep_trx_fragment_size=1; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES(1); |
|||
SET SESSION wsrep_on=OFF; |
|||
ERROR 25000: You are not allowed to execute this command in a transaction |
|||
SET GLOBAL wsrep_on=OFF; |
|||
ERROR 25000: You are not allowed to execute this command in a transaction |
|||
INSERT INTO t1 VALUES(2); |
|||
COMMIT; |
|||
connection node_1; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
connection node_2; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
connection node_1; |
|||
DROP TABLE t1; |
|||
@ -0,0 +1,33 @@ |
|||
# |
|||
# MDEV-25226 - Test the case the where wsrep_on is set OFF |
|||
# on a transaction that has already replicated a fragment. |
|||
# |
|||
# This would cause: Assertion `transaction_.active() == false || |
|||
# (transaction_.state() == wsrep::transaction::s_executing || |
|||
# transaction_.state() == wsrep::transaction::s_prepared || |
|||
# transaction_.state() == wsrep::transaction::s_aborted || |
|||
# transaction_.state() == wsrep::transaction::s_must_abort)' |
|||
# |
|||
|
|||
--source include/galera_cluster.inc |
|||
|
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY); |
|||
|
|||
SET SESSION wsrep_trx_fragment_size=1; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES(1); |
|||
--error ER_CANT_DO_THIS_DURING_AN_TRANSACTION |
|||
SET SESSION wsrep_on=OFF; |
|||
--error ER_CANT_DO_THIS_DURING_AN_TRANSACTION |
|||
SET GLOBAL wsrep_on=OFF; |
|||
INSERT INTO t1 VALUES(2); |
|||
COMMIT; |
|||
|
|||
--connection node_1 |
|||
SELECT * FROM t1; |
|||
|
|||
--connection node_2 |
|||
SELECT * FROM t1; |
|||
|
|||
--connection node_1 |
|||
DROP TABLE t1; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue