390 changed files with 3676 additions and 1815 deletions
-
8mysql-test/main/gis-precise.result
-
8mysql-test/main/gis-precise.test
-
5mysql-test/main/gis.result
-
6mysql-test/main/gis.test
-
22mysql-test/main/long_unique.result
-
22mysql-test/main/long_unique.test
-
1mysql-test/main/my_getopt_case_insensitive.opt
-
8mysql-test/main/my_getopt_case_insensitive.result
-
8mysql-test/main/my_getopt_case_insensitive.test
-
6mysql-test/main/temp_table_frm.result
-
13mysql-test/main/temp_table_frm.test
-
15mysql-test/main/trigger_null.result
-
11mysql-test/main/trigger_null.test
-
24mysql-test/std_data/galera_certs/galera.root.crt
-
4mysql-test/suite/galera/disabled.def
-
4mysql-test/suite/galera/galera_2nodes.cnf
-
4mysql-test/suite/galera/galera_2nodes_as_master.cnf
-
4mysql-test/suite/galera/galera_2nodes_as_replica_2primary.cnf
-
4mysql-test/suite/galera/galera_2nodes_as_slave.cnf
-
6mysql-test/suite/galera/galera_3nodes_as_slave.cnf
-
8mysql-test/suite/galera/galera_4nodes.cnf
-
2mysql-test/suite/galera/r/MDEV-20225.result
-
2mysql-test/suite/galera/r/MDEV-20793.result
-
1mysql-test/suite/galera/r/MDEV-25389.result
-
1mysql-test/suite/galera/r/MW-329.result
-
25mysql-test/suite/galera/r/MW-329F.result
-
5mysql-test/suite/galera/r/MW-416.result
-
4mysql-test/suite/galera/r/galera_applier_ftwrl_table_alter.result
-
2mysql-test/suite/galera/r/galera_as_slave_nonprim.result
-
685mysql-test/suite/galera/r/galera_bf_abort_group_commit.result
-
4mysql-test/suite/galera/r/galera_bf_kill,debug.rdiff
-
4mysql-test/suite/galera/r/galera_binlog_stmt_autoinc.result
-
3mysql-test/suite/galera/r/galera_ddl_fk_conflict.result
-
14mysql-test/suite/galera/r/galera_gcache_recover_manytrx.result
-
2mysql-test/suite/galera/r/galera_ist_MDEV-28423,debug.rdiff
-
2mysql-test/suite/galera/r/galera_ist_MDEV-28583,debug.rdiff
-
15mysql-test/suite/galera/r/galera_ist_mysqldump,debug.rdiff
-
15mysql-test/suite/galera/r/galera_ist_mysqldump,release.rdiff
-
4mysql-test/suite/galera/r/galera_ist_mysqldump.result
-
35mysql-test/suite/galera/r/galera_parallel_apply_lock_table.result
-
1mysql-test/suite/galera/r/galera_parallel_simple.result
-
8mysql-test/suite/galera/r/galera_sequence_engine.result
-
11mysql-test/suite/galera/r/galera_sequences,binlogoff.rdiff
-
13mysql-test/suite/galera/r/galera_sequences.result
-
2mysql-test/suite/galera/r/galera_sst_mariabackup,debug.rdiff
-
4mysql-test/suite/galera/r/galera_sst_mariabackup_force_recovery,debug.rdiff
-
210mysql-test/suite/galera/r/galera_sst_mariabackup_gtid,debug.rdiff
-
534mysql-test/suite/galera/r/galera_sst_mariabackup_gtid.result
-
2mysql-test/suite/galera/r/galera_sst_mariabackup_logarchive,debug.rdiff
-
15mysql-test/suite/galera/r/galera_sst_mysqldump,debug.rdiff
-
15mysql-test/suite/galera/r/galera_sst_mysqldump,release.rdiff
-
4mysql-test/suite/galera/r/galera_sst_mysqldump.result
-
15mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,debug.rdiff
-
15mysql-test/suite/galera/r/galera_sst_mysqldump_with_key,release.rdiff
-
4mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result
-
2mysql-test/suite/galera/r/galera_sst_rsync,debug.rdiff
-
210mysql-test/suite/galera/r/galera_sst_rsync_gtid,debug.rdiff
-
534mysql-test/suite/galera/r/galera_sst_rsync_gtid.result
-
2mysql-test/suite/galera/r/galera_sst_rsync_recv_auto,debug.rdiff
-
1mysql-test/suite/galera/r/galera_var_slave_threads.result
-
12mysql-test/suite/galera/r/galera_wan.result
-
9mysql-test/suite/galera/r/galera_wan_restart_sst.result
-
4mysql-test/suite/galera/r/galera_wsrep_provider_options_syntax.result
-
9mysql-test/suite/galera/r/galera_wsrep_schema_detached.result
-
12mysql-test/suite/galera/r/mysql-wsrep#33,debug.rdiff
-
15mysql-test/suite/galera/r/mysql-wsrep#33,release.rdiff
-
4mysql-test/suite/galera/r/mysql-wsrep#33.result
-
80mysql-test/suite/galera/suite.pm
-
4mysql-test/suite/galera/t/MDEV-10715.cnf
-
2mysql-test/suite/galera/t/MDEV-15443.cnf
-
1mysql-test/suite/galera/t/MDEV-18832.test
-
2mysql-test/suite/galera/t/MDEV-20225.test
-
2mysql-test/suite/galera/t/MDEV-20793.test
-
2mysql-test/suite/galera/t/MDEV-22227.test
-
2mysql-test/suite/galera/t/MDEV-22708.cnf
-
1mysql-test/suite/galera/t/MDEV-24143.test
-
1mysql-test/suite/galera/t/MDEV-24327.cnf
-
7mysql-test/suite/galera/t/MDEV-25389.test
-
2mysql-test/suite/galera/t/MDEV-26597.test
-
1mysql-test/suite/galera/t/MDEV-27123.opt
-
1mysql-test/suite/galera/t/MDEV-27862.test
-
1mysql-test/suite/galera/t/MDEV-29293.test
-
2mysql-test/suite/galera/t/MDEV-29512.cnf
-
1mysql-test/suite/galera/t/MDEV-32549.test
-
9mysql-test/suite/galera/t/MDEV-33828.cnf
-
1mysql-test/suite/galera/t/MDEV-33828.test
-
13mysql-test/suite/galera/t/MDEV-34647.cnf
-
2mysql-test/suite/galera/t/MDEV-34647.test
-
5mysql-test/suite/galera/t/MDEV-6860.cnf
-
1mysql-test/suite/galera/t/MW-259.test
-
3mysql-test/suite/galera/t/MW-313.cnf
-
3mysql-test/suite/galera/t/MW-329.cnf
-
12mysql-test/suite/galera/t/MW-329.test
-
6mysql-test/suite/galera/t/MW-329F.cnf
-
105mysql-test/suite/galera/t/MW-329F.test
-
1mysql-test/suite/galera/t/MW-360-master.opt
-
2mysql-test/suite/galera/t/MW-369.inc
-
83mysql-test/suite/galera/t/MW-416.test
-
1mysql-test/suite/galera/t/MW-86-wait8.cnf
-
1mysql-test/suite/galera/t/create.test
@ -0,0 +1 @@ |
|||
--slOw_QuEry_loG=OFF |
@ -0,0 +1,8 @@ |
|||
# |
|||
# MDEV-27126: my_getopt compares option names case sensitively |
|||
# |
|||
# Check if the variable is set correctly from options |
|||
SELECT @@GLOBAL.slow_query_log; |
|||
@@GLOBAL.slow_query_log |
|||
0 |
|||
# End of test. |
@ -0,0 +1,8 @@ |
|||
--echo # |
|||
--echo # MDEV-27126: my_getopt compares option names case sensitively |
|||
--echo # |
|||
|
|||
--echo # Check if the variable is set correctly from options |
|||
SELECT @@GLOBAL.slow_query_log; |
|||
|
|||
--echo # End of test. |
@ -0,0 +1,25 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
CREATE TABLE t1 (f1 INTEGER, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB; |
|||
INSERT INTO t1 (f1) VALUES (1),(65535); |
|||
CREATE PROCEDURE proc_insert (repeat_count int) |
|||
BEGIN |
|||
DECLARE current_num int; |
|||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END; |
|||
SET current_num = 0; |
|||
SET SESSION wsrep_sync_wait = 0; |
|||
WHILE current_num < repeat_count do |
|||
INSERT INTO t1 (f1) VALUES (FLOOR( 1 + RAND( ) * 65535 )); |
|||
SELECT SLEEP(0.1); |
|||
SET current_num = current_num + 1; |
|||
END WHILE; |
|||
END| |
|||
connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
connection node_1b; |
|||
connection node_1b; |
|||
connection node_1; |
|||
DROP PROCEDURE proc_insert; |
|||
DROP TABLE t1; |
|||
disconnect node_1b; |
|||
CALL mtr.add_suppression("WSREP: .* conflict state after post commit "); |
|||
set global innodb_status_output=Default; |
@ -1,685 +0,0 @@ |
|||
SET SESSION wsrep_sync_wait = 0; |
|||
galera_sr_bf_abort_at_commit = 0 |
|||
after_replicate_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,after_replicate_sync'; |
|||
INSERT INTO t1 VALUES (3); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=after_replicate_sync'; |
|||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
local_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync'; |
|||
INSERT INTO t1 VALUES (3); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync'; |
|||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
apply_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_master_enter_sync'; |
|||
INSERT INTO t1 VALUES (3); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_master_enter_sync'; |
|||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
commit_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_master_enter_sync'; |
|||
INSERT INTO t1 VALUES (3); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_master_enter_sync'; |
|||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
galera_sr_bf_abort_at_commit = 1 |
|||
after_replicate_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,after_replicate_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=after_replicate_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
local_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
apply_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_master_enter_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_master_enter_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
commit_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 1; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_master_enter_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_master_enter_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
galera_sr_bf_abort_at_commit = 1 |
|||
after_replicate_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,after_replicate_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=after_replicate_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
local_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
apply_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_master_enter_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_master_enter_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
commit_monitor_master_enter_sync |
|||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
SET AUTOCOMMIT=OFF; |
|||
INSERT INTO t1 VALUES (1); |
|||
SELECT * FROM t1 FOR UPDATE; |
|||
f1 |
|||
1 |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync'; |
|||
SET AUTOCOMMIT=ON; |
|||
INSERT INTO t1 VALUES (2); |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,commit_monitor_master_enter_sync'; |
|||
COMMIT; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'dbug=d,abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync'; |
|||
SET SESSION wsrep_on = 0; |
|||
SET SESSION wsrep_on = 1; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SET GLOBAL wsrep_provider_options = 'signal=commit_monitor_master_enter_sync'; |
|||
ROLLBACK; |
|||
SET GLOBAL wsrep_provider_options = 'dbug='; |
|||
SET GLOBAL wsrep_provider_options = 'signal=abort_trx_end'; |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT * FROM t1; |
|||
f1 |
|||
1 |
|||
2 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2; |
|||
COUNT(*) = 1 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log; |
|||
COUNT(*) = 0 |
|||
1 |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_trx_fragment_size = 0; |
|||
DELETE FROM t1; |
|||
DROP TABLE t1; |
|||
CALL mtr.add_suppression("WSREP: fragment replication failed: 1"); |
@ -1,15 +0,0 @@ |
|||
--- r/galera_ist_mysqldump.result |
|||
+++ r/galera_ist_mysqldump.reject |
|||
@@ -355,10 +355,10 @@ |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
connection node_1; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
DROP USER sst; |
|||
connection node_2; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found"); |
|||
CALL mtr.add_suppression("Can't open and lock time zone table"); |
|||
CALL mtr.add_suppression("Can't open and lock privilege tables"); |
@ -0,0 +1,11 @@ |
|||
--- r/galera_sequences.result |
|||
+++ r/galera_sequences,binlogoff.reject |
|||
@@ -313,7 +313,7 @@ |
|||
7 4 |
|||
SELECT NEXTVAL(t); |
|||
NEXTVAL(t) |
|||
-42 |
|||
+2 |
|||
connection node_1; |
|||
DROP TABLE t1; |
|||
DROP SEQUENCE t; |
@ -0,0 +1,210 @@ |
|||
--- r/galera_sst_mariabackup_gtid.result |
|||
+++ r/galera_sst_mariabackup_gtid,debug.reject |
|||
@@ -516,19 +516,203 @@ |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
+Performing State Transfer on a server that has been killed and restarted |
|||
+while a DDL was in progress on it |
|||
+connection node_1; |
|||
+CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
+connection node_2; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
+COMMIT; |
|||
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table'; |
|||
+connection node_1; |
|||
+ALTER TABLE t1 ADD COLUMN f2 INTEGER; |
|||
+connection node_2; |
|||
+SET wsrep_sync_wait = 0; |
|||
+Killing server ... |
|||
+connection node_1; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (11,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (12,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (13,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (14,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (15,'node1_committed_during'); |
|||
+COMMIT; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (16,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (17,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (18,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (19,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (20,'node1_to_be_committed_after'); |
|||
+connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (21,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (22,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (23,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (24,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (25,'node1_to_be_rollbacked_after'); |
|||
+connection node_2; |
|||
+Performing --wsrep-recover ... |
|||
+connection node_2; |
|||
+Starting server ... |
|||
+Using --wsrep-start-position when starting mysqld ... |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (26,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (27,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (28,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (29,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (30,'node2_committed_after'); |
|||
+COMMIT; |
|||
+connection node_1; |
|||
+INSERT INTO t1 (id,f1) VALUES (31,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (32,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (33,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (34,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (35,'node1_to_be_committed_after'); |
|||
+COMMIT; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (36,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (37,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (38,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (39,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (40,'node1_committed_after'); |
|||
+COMMIT; |
|||
+connection node_1a_galera_st_kill_slave_ddl; |
|||
+INSERT INTO t1 (id,f1) VALUES (41,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (42,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (43,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (44,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (45,'node1_to_be_rollbacked_after'); |
|||
+ROLLBACK; |
|||
+SET AUTOCOMMIT=ON; |
|||
+SET SESSION wsrep_sync_wait=15; |
|||
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; |
|||
+EXPECT_3 |
|||
+3 |
|||
+SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
+EXPECT_35 |
|||
+35 |
|||
+SELECT * FROM t1; |
|||
+id f1 f2 |
|||
+1 node1_committed_before NULL |
|||
+2 node1_committed_before NULL |
|||
+3 node1_committed_before NULL |
|||
+4 node1_committed_before NULL |
|||
+5 node1_committed_before NULL |
|||
+6 node2_committed_before NULL |
|||
+7 node2_committed_before NULL |
|||
+8 node2_committed_before NULL |
|||
+9 node2_committed_before NULL |
|||
+10 node2_committed_before NULL |
|||
+11 node1_committed_during NULL |
|||
+12 node1_committed_during NULL |
|||
+13 node1_committed_during NULL |
|||
+14 node1_committed_during NULL |
|||
+15 node1_committed_during NULL |
|||
+16 node1_to_be_committed_after NULL |
|||
+17 node1_to_be_committed_after NULL |
|||
+18 node1_to_be_committed_after NULL |
|||
+19 node1_to_be_committed_after NULL |
|||
+20 node1_to_be_committed_after NULL |
|||
+26 node2_committed_after NULL |
|||
+27 node2_committed_after NULL |
|||
+28 node2_committed_after NULL |
|||
+29 node2_committed_after NULL |
|||
+30 node2_committed_after NULL |
|||
+31 node1_to_be_committed_after NULL |
|||
+32 node1_to_be_committed_after NULL |
|||
+33 node1_to_be_committed_after NULL |
|||
+34 node1_to_be_committed_after NULL |
|||
+35 node1_to_be_committed_after NULL |
|||
+36 node1_committed_after NULL |
|||
+37 node1_committed_after NULL |
|||
+38 node1_committed_after NULL |
|||
+39 node1_committed_after NULL |
|||
+40 node1_committed_after NULL |
|||
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
+COUNT(*) = 0 |
|||
+1 |
|||
+COMMIT; |
|||
+connection node_1; |
|||
+SET AUTOCOMMIT=ON; |
|||
+SET SESSION wsrep_sync_wait=15; |
|||
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; |
|||
+EXPECT_3 |
|||
+3 |
|||
+SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
+EXPECT_35 |
|||
+35 |
|||
+SELECT * FROM t1; |
|||
+id f1 f2 |
|||
+1 node1_committed_before NULL |
|||
+2 node1_committed_before NULL |
|||
+3 node1_committed_before NULL |
|||
+4 node1_committed_before NULL |
|||
+5 node1_committed_before NULL |
|||
+6 node2_committed_before NULL |
|||
+7 node2_committed_before NULL |
|||
+8 node2_committed_before NULL |
|||
+9 node2_committed_before NULL |
|||
+10 node2_committed_before NULL |
|||
+11 node1_committed_during NULL |
|||
+12 node1_committed_during NULL |
|||
+13 node1_committed_during NULL |
|||
+14 node1_committed_during NULL |
|||
+15 node1_committed_during NULL |
|||
+16 node1_to_be_committed_after NULL |
|||
+17 node1_to_be_committed_after NULL |
|||
+18 node1_to_be_committed_after NULL |
|||
+19 node1_to_be_committed_after NULL |
|||
+20 node1_to_be_committed_after NULL |
|||
+26 node2_committed_after NULL |
|||
+27 node2_committed_after NULL |
|||
+28 node2_committed_after NULL |
|||
+29 node2_committed_after NULL |
|||
+30 node2_committed_after NULL |
|||
+31 node1_to_be_committed_after NULL |
|||
+32 node1_to_be_committed_after NULL |
|||
+33 node1_to_be_committed_after NULL |
|||
+34 node1_to_be_committed_after NULL |
|||
+35 node1_to_be_committed_after NULL |
|||
+36 node1_committed_after NULL |
|||
+37 node1_committed_after NULL |
|||
+38 node1_committed_after NULL |
|||
+39 node1_committed_after NULL |
|||
+40 node1_committed_after NULL |
|||
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
+COUNT(*) = 0 |
|||
+1 |
|||
+DROP TABLE t1; |
|||
+COMMIT; |
|||
+SET GLOBAL debug_dbug = $debug_orig; |
|||
connection node_1; |
|||
# Node_1 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
-gtid_binlog_pos 100-10-24 |
|||
-gtid_current_pos 100-10-24 |
|||
+gtid_binlog_pos 100-10-33 |
|||
+gtid_current_pos 100-10-33 |
|||
gtid_slave_pos |
|||
connection node_2; |
|||
# Node_2 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
-gtid_binlog_pos 100-10-24 |
|||
-gtid_current_pos 100-10-24 |
|||
+gtid_binlog_pos 100-10-33 |
|||
+gtid_current_pos 100-10-33 |
|||
gtid_slave_pos |
|||
disconnect node_2; |
|||
disconnect node_1; |
@ -0,0 +1,534 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
connection node_1; |
|||
connection node_2; |
|||
Performing State Transfer on a server that has been shut down cleanly and restarted |
|||
connection node_1; |
|||
CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
COMMIT; |
|||
connection node_2; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
COMMIT; |
|||
Shutting down server ... |
|||
connection node_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (11,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (12,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (13,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (14,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (15,'node1_committed_during'); |
|||
COMMIT; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (16,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (17,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (18,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (19,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (20,'node1_to_be_committed_after'); |
|||
connect node_1a_galera_st_shutdown_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after'); |
|||
connection node_2; |
|||
Starting server ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (26,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (27,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (28,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (29,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (30,'node2_committed_after'); |
|||
COMMIT; |
|||
connection node_1; |
|||
INSERT INTO t1 VALUES (31,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (32,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (33,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (34,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (35,'node1_to_be_committed_after'); |
|||
COMMIT; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (36,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (37,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (38,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (39,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (40,'node1_committed_after'); |
|||
COMMIT; |
|||
connection node_1a_galera_st_shutdown_slave; |
|||
INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (44,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after'); |
|||
ROLLBACK; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_15 FROM t1; |
|||
EXPECT_15 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
COMMIT; |
|||
connection node_1; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_15 FROM t1; |
|||
EXPECT_15 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
Performing State Transfer on a server that starts from a clean var directory |
|||
This is accomplished by shutting down node #2 and removing its var directory before restarting it |
|||
connection node_1; |
|||
CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
COMMIT; |
|||
connection node_2; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
COMMIT; |
|||
Shutting down server ... |
|||
connection node_1; |
|||
Cleaning var directory ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (11,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (12,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (13,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (14,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (15,'node1_committed_during'); |
|||
COMMIT; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (16,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (17,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (18,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (19,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (20,'node1_to_be_committed_after'); |
|||
connect node_1a_galera_st_clean_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after'); |
|||
connection node_2; |
|||
Starting server ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (26,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (27,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (28,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (29,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (30,'node2_committed_after'); |
|||
COMMIT; |
|||
connection node_1; |
|||
INSERT INTO t1 VALUES (31,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (32,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (33,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (34,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (35,'node1_to_be_committed_after'); |
|||
COMMIT; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (36,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (37,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (38,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (39,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (40,'node1_committed_after'); |
|||
COMMIT; |
|||
connection node_1a_galera_st_clean_slave; |
|||
INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (44,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after'); |
|||
ROLLBACK; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
COMMIT; |
|||
connection node_1; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
Performing State Transfer on a server that has been killed and restarted |
|||
connection node_1; |
|||
CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
COMMIT; |
|||
connection node_2; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
COMMIT; |
|||
Killing server ... |
|||
connection node_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (11,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (12,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (13,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (14,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (15,'node1_committed_during'); |
|||
COMMIT; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (16,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (17,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (18,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (19,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (20,'node1_to_be_committed_after'); |
|||
connect node_1a_galera_st_kill_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after'); |
|||
connection node_2; |
|||
Performing --wsrep-recover ... |
|||
Starting server ... |
|||
Using --wsrep-start-position when starting mysqld ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (26,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (27,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (28,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (29,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (30,'node2_committed_after'); |
|||
COMMIT; |
|||
connection node_1; |
|||
INSERT INTO t1 VALUES (31,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (32,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (33,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (34,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (35,'node1_to_be_committed_after'); |
|||
COMMIT; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (36,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (37,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (38,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (39,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (40,'node1_committed_after'); |
|||
COMMIT; |
|||
connection node_1a_galera_st_kill_slave; |
|||
INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (46,'node1_to_be_rollbacked_after'); |
|||
ROLLBACK; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * FROM t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
COMMIT; |
|||
connection node_1; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * FROM t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
connection node_1; |
|||
# Node_1 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
gtid_binlog_pos 100-10-24 |
|||
gtid_current_pos 100-10-24 |
|||
gtid_slave_pos |
|||
connection node_2; |
|||
# Node_2 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
gtid_binlog_pos 100-10-24 |
|||
gtid_current_pos 100-10-24 |
|||
gtid_slave_pos |
|||
disconnect node_2; |
|||
disconnect node_1; |
@ -1,15 +0,0 @@ |
|||
--- r/galera_sst_mysqldump.result |
|||
+++ r/galera_sst_mysqldump.reject |
|||
@@ -699,10 +699,10 @@ |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
connection node_1; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
DROP USER sst; |
|||
connection node_2; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found"); |
|||
CALL mtr.add_suppression("Can't open and lock time zone table"); |
|||
CALL mtr.add_suppression("Can't open and lock privilege tables"); |
@ -1,15 +0,0 @@ |
|||
--- r/galera_sst_mysqldump_with_key.result |
|||
+++ r/galera_sst_mysqldump_with_key.reject |
|||
@@ -359,10 +359,10 @@ |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
connection node_1; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
DROP USER sst; |
|||
connection node_2; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found"); |
|||
CALL mtr.add_suppression("Can't open and lock time zone table"); |
|||
CALL mtr.add_suppression("Can't open and lock privilege tables"); |
@ -0,0 +1,210 @@ |
|||
--- r/galera_sst_rsync_gtid.result |
|||
+++ r/galera_sst_rsync_gtid,debug.reject |
|||
@@ -516,19 +516,203 @@ |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
+Performing State Transfer on a server that has been killed and restarted |
|||
+while a DDL was in progress on it |
|||
+connection node_1; |
|||
+CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
+INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
+connection node_2; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
+INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
+COMMIT; |
|||
+SET GLOBAL debug_dbug = 'd,sync.alter_opened_table'; |
|||
+connection node_1; |
|||
+ALTER TABLE t1 ADD COLUMN f2 INTEGER; |
|||
+connection node_2; |
|||
+SET wsrep_sync_wait = 0; |
|||
+Killing server ... |
|||
+connection node_1; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (11,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (12,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (13,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (14,'node1_committed_during'); |
|||
+INSERT INTO t1 (id,f1) VALUES (15,'node1_committed_during'); |
|||
+COMMIT; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (16,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (17,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (18,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (19,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (20,'node1_to_be_committed_after'); |
|||
+connect node_1a_galera_st_kill_slave_ddl, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (21,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (22,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (23,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (24,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (25,'node1_to_be_rollbacked_after'); |
|||
+connection node_2; |
|||
+Performing --wsrep-recover ... |
|||
+connection node_2; |
|||
+Starting server ... |
|||
+Using --wsrep-start-position when starting mysqld ... |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (26,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (27,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (28,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (29,'node2_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (30,'node2_committed_after'); |
|||
+COMMIT; |
|||
+connection node_1; |
|||
+INSERT INTO t1 (id,f1) VALUES (31,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (32,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (33,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (34,'node1_to_be_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (35,'node1_to_be_committed_after'); |
|||
+COMMIT; |
|||
+SET AUTOCOMMIT=OFF; |
|||
+START TRANSACTION; |
|||
+INSERT INTO t1 (id,f1) VALUES (36,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (37,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (38,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (39,'node1_committed_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (40,'node1_committed_after'); |
|||
+COMMIT; |
|||
+connection node_1a_galera_st_kill_slave_ddl; |
|||
+INSERT INTO t1 (id,f1) VALUES (41,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (42,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (43,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (44,'node1_to_be_rollbacked_after'); |
|||
+INSERT INTO t1 (id,f1) VALUES (45,'node1_to_be_rollbacked_after'); |
|||
+ROLLBACK; |
|||
+SET AUTOCOMMIT=ON; |
|||
+SET SESSION wsrep_sync_wait=15; |
|||
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; |
|||
+EXPECT_3 |
|||
+3 |
|||
+SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
+EXPECT_35 |
|||
+35 |
|||
+SELECT * FROM t1; |
|||
+id f1 f2 |
|||
+1 node1_committed_before NULL |
|||
+2 node1_committed_before NULL |
|||
+3 node1_committed_before NULL |
|||
+4 node1_committed_before NULL |
|||
+5 node1_committed_before NULL |
|||
+6 node2_committed_before NULL |
|||
+7 node2_committed_before NULL |
|||
+8 node2_committed_before NULL |
|||
+9 node2_committed_before NULL |
|||
+10 node2_committed_before NULL |
|||
+11 node1_committed_during NULL |
|||
+12 node1_committed_during NULL |
|||
+13 node1_committed_during NULL |
|||
+14 node1_committed_during NULL |
|||
+15 node1_committed_during NULL |
|||
+16 node1_to_be_committed_after NULL |
|||
+17 node1_to_be_committed_after NULL |
|||
+18 node1_to_be_committed_after NULL |
|||
+19 node1_to_be_committed_after NULL |
|||
+20 node1_to_be_committed_after NULL |
|||
+26 node2_committed_after NULL |
|||
+27 node2_committed_after NULL |
|||
+28 node2_committed_after NULL |
|||
+29 node2_committed_after NULL |
|||
+30 node2_committed_after NULL |
|||
+31 node1_to_be_committed_after NULL |
|||
+32 node1_to_be_committed_after NULL |
|||
+33 node1_to_be_committed_after NULL |
|||
+34 node1_to_be_committed_after NULL |
|||
+35 node1_to_be_committed_after NULL |
|||
+36 node1_committed_after NULL |
|||
+37 node1_committed_after NULL |
|||
+38 node1_committed_after NULL |
|||
+39 node1_committed_after NULL |
|||
+40 node1_committed_after NULL |
|||
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
+COUNT(*) = 0 |
|||
+1 |
|||
+COMMIT; |
|||
+connection node_1; |
|||
+SET AUTOCOMMIT=ON; |
|||
+SET SESSION wsrep_sync_wait=15; |
|||
+SELECT COUNT(*) AS EXPECT_3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; |
|||
+EXPECT_3 |
|||
+3 |
|||
+SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
+EXPECT_35 |
|||
+35 |
|||
+SELECT * FROM t1; |
|||
+id f1 f2 |
|||
+1 node1_committed_before NULL |
|||
+2 node1_committed_before NULL |
|||
+3 node1_committed_before NULL |
|||
+4 node1_committed_before NULL |
|||
+5 node1_committed_before NULL |
|||
+6 node2_committed_before NULL |
|||
+7 node2_committed_before NULL |
|||
+8 node2_committed_before NULL |
|||
+9 node2_committed_before NULL |
|||
+10 node2_committed_before NULL |
|||
+11 node1_committed_during NULL |
|||
+12 node1_committed_during NULL |
|||
+13 node1_committed_during NULL |
|||
+14 node1_committed_during NULL |
|||
+15 node1_committed_during NULL |
|||
+16 node1_to_be_committed_after NULL |
|||
+17 node1_to_be_committed_after NULL |
|||
+18 node1_to_be_committed_after NULL |
|||
+19 node1_to_be_committed_after NULL |
|||
+20 node1_to_be_committed_after NULL |
|||
+26 node2_committed_after NULL |
|||
+27 node2_committed_after NULL |
|||
+28 node2_committed_after NULL |
|||
+29 node2_committed_after NULL |
|||
+30 node2_committed_after NULL |
|||
+31 node1_to_be_committed_after NULL |
|||
+32 node1_to_be_committed_after NULL |
|||
+33 node1_to_be_committed_after NULL |
|||
+34 node1_to_be_committed_after NULL |
|||
+35 node1_to_be_committed_after NULL |
|||
+36 node1_committed_after NULL |
|||
+37 node1_committed_after NULL |
|||
+38 node1_committed_after NULL |
|||
+39 node1_committed_after NULL |
|||
+40 node1_committed_after NULL |
|||
+SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
+COUNT(*) = 0 |
|||
+1 |
|||
+DROP TABLE t1; |
|||
+COMMIT; |
|||
+SET GLOBAL debug_dbug = $debug_orig; |
|||
connection node_1; |
|||
# Node_1 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
-gtid_binlog_pos 100-10-24 |
|||
-gtid_current_pos 100-10-24 |
|||
+gtid_binlog_pos 100-10-33 |
|||
+gtid_current_pos 100-10-33 |
|||
gtid_slave_pos |
|||
connection node_2; |
|||
# Node_2 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
-gtid_binlog_pos 100-10-24 |
|||
-gtid_current_pos 100-10-24 |
|||
+gtid_binlog_pos 100-10-33 |
|||
+gtid_current_pos 100-10-33 |
|||
gtid_slave_pos |
|||
disconnect node_2; |
|||
disconnect node_1; |
@ -0,0 +1,534 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
connection node_1; |
|||
connection node_2; |
|||
Performing State Transfer on a server that has been shut down cleanly and restarted |
|||
connection node_1; |
|||
CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
COMMIT; |
|||
connection node_2; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
COMMIT; |
|||
Shutting down server ... |
|||
connection node_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (11,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (12,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (13,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (14,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (15,'node1_committed_during'); |
|||
COMMIT; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (16,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (17,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (18,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (19,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (20,'node1_to_be_committed_after'); |
|||
connect node_1a_galera_st_shutdown_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after'); |
|||
connection node_2; |
|||
Starting server ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (26,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (27,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (28,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (29,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (30,'node2_committed_after'); |
|||
COMMIT; |
|||
connection node_1; |
|||
INSERT INTO t1 VALUES (31,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (32,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (33,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (34,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (35,'node1_to_be_committed_after'); |
|||
COMMIT; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (36,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (37,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (38,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (39,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (40,'node1_committed_after'); |
|||
COMMIT; |
|||
connection node_1a_galera_st_shutdown_slave; |
|||
INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (44,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after'); |
|||
ROLLBACK; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_15 FROM t1; |
|||
EXPECT_15 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
COMMIT; |
|||
connection node_1; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_15 FROM t1; |
|||
EXPECT_15 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
Performing State Transfer on a server that starts from a clean var directory |
|||
This is accomplished by shutting down node #2 and removing its var directory before restarting it |
|||
connection node_1; |
|||
CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
COMMIT; |
|||
connection node_2; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
COMMIT; |
|||
Shutting down server ... |
|||
connection node_1; |
|||
Cleaning var directory ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (11,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (12,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (13,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (14,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (15,'node1_committed_during'); |
|||
COMMIT; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (16,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (17,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (18,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (19,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (20,'node1_to_be_committed_after'); |
|||
connect node_1a_galera_st_clean_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after'); |
|||
connection node_2; |
|||
Starting server ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (26,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (27,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (28,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (29,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (30,'node2_committed_after'); |
|||
COMMIT; |
|||
connection node_1; |
|||
INSERT INTO t1 VALUES (31,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (32,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (33,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (34,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (35,'node1_to_be_committed_after'); |
|||
COMMIT; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (36,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (37,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (38,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (39,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (40,'node1_committed_after'); |
|||
COMMIT; |
|||
connection node_1a_galera_st_clean_slave; |
|||
INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (44,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after'); |
|||
ROLLBACK; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
COMMIT; |
|||
connection node_1; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * from t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
Performing State Transfer on a server that has been killed and restarted |
|||
connection node_1; |
|||
CREATE TABLE t1 (id int not null primary key,f1 CHAR(255)) ENGINE=InnoDB; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (1,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (2,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (3,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (4,'node1_committed_before'); |
|||
INSERT INTO t1 VALUES (5,'node1_committed_before'); |
|||
COMMIT; |
|||
connection node_2; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (6,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (7,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (8,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (9,'node2_committed_before'); |
|||
INSERT INTO t1 VALUES (10,'node2_committed_before'); |
|||
COMMIT; |
|||
Killing server ... |
|||
connection node_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (11,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (12,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (13,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (14,'node1_committed_during'); |
|||
INSERT INTO t1 VALUES (15,'node1_committed_during'); |
|||
COMMIT; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (16,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (17,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (18,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (19,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (20,'node1_to_be_committed_after'); |
|||
connect node_1a_galera_st_kill_slave, 127.0.0.1, root, , test, $NODE_MYPORT_1; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (21,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (22,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (23,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (24,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (25,'node1_to_be_rollbacked_after'); |
|||
connection node_2; |
|||
Performing --wsrep-recover ... |
|||
Starting server ... |
|||
Using --wsrep-start-position when starting mysqld ... |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (26,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (27,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (28,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (29,'node2_committed_after'); |
|||
INSERT INTO t1 VALUES (30,'node2_committed_after'); |
|||
COMMIT; |
|||
connection node_1; |
|||
INSERT INTO t1 VALUES (31,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (32,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (33,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (34,'node1_to_be_committed_after'); |
|||
INSERT INTO t1 VALUES (35,'node1_to_be_committed_after'); |
|||
COMMIT; |
|||
SET AUTOCOMMIT=OFF; |
|||
START TRANSACTION; |
|||
INSERT INTO t1 VALUES (36,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (37,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (38,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (39,'node1_committed_after'); |
|||
INSERT INTO t1 VALUES (40,'node1_committed_after'); |
|||
COMMIT; |
|||
connection node_1a_galera_st_kill_slave; |
|||
INSERT INTO t1 VALUES (41,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (42,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (43,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (45,'node1_to_be_rollbacked_after'); |
|||
INSERT INTO t1 VALUES (46,'node1_to_be_rollbacked_after'); |
|||
ROLLBACK; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * FROM t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
COMMIT; |
|||
connection node_1; |
|||
SET AUTOCOMMIT=ON; |
|||
SET SESSION wsrep_sync_wait=15; |
|||
SELECT COUNT(*) AS EXPECT_35 FROM t1; |
|||
EXPECT_35 |
|||
35 |
|||
SELECT * FROM t1; |
|||
id f1 |
|||
1 node1_committed_before |
|||
2 node1_committed_before |
|||
3 node1_committed_before |
|||
4 node1_committed_before |
|||
5 node1_committed_before |
|||
6 node2_committed_before |
|||
7 node2_committed_before |
|||
8 node2_committed_before |
|||
9 node2_committed_before |
|||
10 node2_committed_before |
|||
11 node1_committed_during |
|||
12 node1_committed_during |
|||
13 node1_committed_during |
|||
14 node1_committed_during |
|||
15 node1_committed_during |
|||
16 node1_to_be_committed_after |
|||
17 node1_to_be_committed_after |
|||
18 node1_to_be_committed_after |
|||
19 node1_to_be_committed_after |
|||
20 node1_to_be_committed_after |
|||
26 node2_committed_after |
|||
27 node2_committed_after |
|||
28 node2_committed_after |
|||
29 node2_committed_after |
|||
30 node2_committed_after |
|||
31 node1_to_be_committed_after |
|||
32 node1_to_be_committed_after |
|||
33 node1_to_be_committed_after |
|||
34 node1_to_be_committed_after |
|||
35 node1_to_be_committed_after |
|||
36 node1_committed_after |
|||
37 node1_committed_after |
|||
38 node1_committed_after |
|||
39 node1_committed_after |
|||
40 node1_committed_after |
|||
SELECT COUNT(*) = 0 FROM (SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 HAVING c NOT IN (5, 10)) AS a1; |
|||
COUNT(*) = 0 |
|||
1 |
|||
DROP TABLE t1; |
|||
COMMIT; |
|||
connection node_1; |
|||
# Node_1 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
gtid_binlog_pos 100-10-24 |
|||
gtid_current_pos 100-10-24 |
|||
gtid_slave_pos |
|||
connection node_2; |
|||
# Node_2 |
|||
SHOW global variables like 'gtid%pos'; |
|||
Variable_name Value |
|||
gtid_binlog_pos 100-10-24 |
|||
gtid_current_pos 100-10-24 |
|||
gtid_slave_pos |
|||
disconnect node_2; |
|||
disconnect node_1; |
@ -1,7 +1,7 @@ |
|||
connection node_2; |
|||
connection node_1; |
|||
call mtr.add_suppression("WSREP\: Unknown parameter 'gmcasts\\.segment'"); |
|||
call mtr.add_suppression("WSREP\: Set options returned 7"); |
|||
call mtr.add_suppression("WSREP: Unknown parameter 'gmcasts\\.segment'"); |
|||
call mtr.add_suppression("WSREP: Set options returned 7"); |
|||
SET GLOBAL wsrep_provider_options="gmcasts.segment=1"; |
|||
ERROR HY000: Incorrect arguments to SET |
|||
Unhandled exceptions: 0 |
@ -1,15 +0,0 @@ |
|||
--- r/mysql-wsrep#33.result |
|||
+++ r/mysql-wsrep#33.reject |
|||
@@ -700,10 +700,10 @@ |
|||
COMMIT; |
|||
connection node_2; |
|||
connection node_1; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
DROP USER sst; |
|||
connection node_2; |
|||
-CALL mtr.add_suppression("Slave SQL: Error 'The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
+CALL mtr.add_suppression("Slave SQL: Error 'The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement' on query"); |
|||
CALL mtr.add_suppression("InnoDB: Error: Table \"mysql\"\\.\"innodb_index_stats\" not found"); |
|||
CALL mtr.add_suppression("Can't open and lock time zone table"); |
|||
CALL mtr.add_suppression("Can't open and lock privilege tables"); |
@ -1,5 +1,7 @@ |
|||
!include ../galera_2nodes.cnf |
|||
|
|||
[mysqld.1] |
|||
wsrep_auto_increment_control=OFF |
|||
|
|||
[mysqld.2] |
|||
wsrep_auto_increment_control=OFF |
@ -1,4 +1,4 @@ |
|||
!include ../galera_2nodes.cnf |
|||
|
|||
[mysqld] |
|||
log-bin |
|||
log-bin |
@ -1,2 +1 @@ |
|||
--wsrep_auto_increment_control=OFF --auto_increment_increment=3 --auto_increment_offset=3 |
|||
|
@ -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 |
@ -1,7 +1,8 @@ |
|||
!include ../galera_2nodes_as_slave.cnf |
|||
|
|||
[mysqld.1] |
|||
wsrep-slave-threads=10 |
|||
|
|||
[mysqld.2] |
|||
slave-parallel-threads=2 |
|||
slave-parallel-mode=optimistic |
|||
[mysqld.1] |
|||
wsrep-slave-threads=10 |
@ -0,0 +1,6 @@ |
|||
!include ../galera_2nodes.cnf |
|||
|
|||
[mysqld.1] |
|||
wsrep-retry-autocommit=0 |
|||
|
|||
[mysqld.2] |
@ -0,0 +1,105 @@ |
|||
# |
|||
# MW-329F Fix incorrect affected rows count after replay. |
|||
# |
|||
# This is a version of MW-329 without the infinite loop that |
|||
# in the original test is closed by killing the connection. |
|||
# |
|||
|
|||
--source include/galera_cluster.inc |
|||
--source include/have_innodb.inc |
|||
|
|||
CREATE TABLE t1 (f1 INTEGER, f2 CHAR(20) DEFAULT 'abc') ENGINE=InnoDB; |
|||
|
|||
# We start with a populated table |
|||
INSERT INTO t1 (f1) VALUES (1),(65535); |
|||
|
|||
# |
|||
# Run concurrent INSERTs |
|||
# |
|||
|
|||
DELIMITER |; |
|||
CREATE PROCEDURE proc_insert (repeat_count int) |
|||
BEGIN |
|||
DECLARE current_num int; |
|||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END; |
|||
SET current_num = 0; |
|||
SET SESSION wsrep_sync_wait = 0; |
|||
WHILE current_num < repeat_count do |
|||
INSERT INTO t1 (f1) VALUES (FLOOR( 1 + RAND( ) * 65535 )); |
|||
SELECT SLEEP(0.1); |
|||
SET current_num = current_num + 1; |
|||
END WHILE; |
|||
END| |
|||
DELIMITER ;| |
|||
|
|||
--connect node_1b, 127.0.0.1, root, , test, $NODE_MYPORT_1 |
|||
--connection node_1b |
|||
--let $connection_id = `SELECT CONNECTION_ID()` |
|||
--disable_query_log |
|||
--disable_result_log |
|||
--send CALL proc_insert(500); |
|||
|
|||
# |
|||
# Run concurrent UPDATEs. We expect that each UPDATE will report that |
|||
# some rows were matched and updated |
|||
# |
|||
|
|||
--connection node_2 |
|||
--let $count = 2 |
|||
--let $wsrep_local_replays_old = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'` |
|||
|
|||
while ($count) |
|||
{ |
|||
--let $signature = `SELECT LEFT(MD5(RAND()), 10)` |
|||
--disable_query_log |
|||
--error 0,ER_LOCK_DEADLOCK |
|||
--eval UPDATE t1 SET f2 = '$signature' |
|||
--enable_query_log |
|||
--let $row_count = `SELECT ROW_COUNT()` |
|||
if (`SELECT @@error_count = 0`) { |
|||
if (`SELECT $row_count = 0`) { |
|||
--die ROW_COUNT() = 0 |
|||
} |
|||
} |
|||
|
|||
# |
|||
# Ensure at least one replay happens |
|||
# |
|||
|
|||
--let $wsrep_replays = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'` |
|||
--disable_query_log |
|||
if (`SELECT $wsrep_replays - $wsrep_local_replays_old > 0`) { |
|||
--dec $count |
|||
} |
|||
--enable_query_log |
|||
} |
|||
|
|||
# |
|||
# Confirm that some transaction replays occurred |
|||
# |
|||
|
|||
--let $wsrep_local_replays_new = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_local_replays'` |
|||
--disable_query_log |
|||
--eval SELECT $wsrep_local_replays_new - $wsrep_local_replays_old > 0 AS wsrep_local_replays; |
|||
--enable_query_log |
|||
|
|||
# |
|||
# getting execution results for --send |
|||
# |
|||
|
|||
--connection node_1b |
|||
--error 0,1317,2013,2026 |
|||
--reap |
|||
--enable_query_log |
|||
--enable_result_log |
|||
|
|||
--connection node_1 |
|||
DROP PROCEDURE proc_insert; |
|||
DROP TABLE t1; |
|||
|
|||
--disconnect node_1b |
|||
|
|||
# Due to MW-330, Multiple "conflict state 3 after post commit" warnings if table is dropped while SP is running |
|||
CALL mtr.add_suppression("WSREP: .* conflict state after post commit "); |
|||
|
|||
set global innodb_status_output=Default; |
@ -1,2 +1 @@ |
|||
--gtid-domain-id=1 --log-bin --log-slave-updates |
|||
|
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue