diff options
Diffstat (limited to 'mysql-test/suite/wsrep/r')
25 files changed, 802 insertions, 0 deletions
diff --git a/mysql-test/suite/wsrep/r/MDEV-20625.result b/mysql-test/suite/wsrep/r/MDEV-20625.result new file mode 100644 index 00000000..3e2b621c --- /dev/null +++ b/mysql-test/suite/wsrep/r/MDEV-20625.result @@ -0,0 +1,5 @@ +SET GLOBAL wsrep_on=ON; +SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size'; +Variable_name Value +wsrep_cluster_size 0 +SET GLOBAL wsrep_on=OFF; diff --git a/mysql-test/suite/wsrep/r/MDEV-22443.result b/mysql-test/suite/wsrep/r/MDEV-22443.result new file mode 100644 index 00000000..ea07cbec --- /dev/null +++ b/mysql-test/suite/wsrep/r/MDEV-22443.result @@ -0,0 +1,3 @@ +SET SESSION wsrep_sync_wait=15; +SET SESSION wsrep_on=1; +START TRANSACTION READ WRITE; diff --git a/mysql-test/suite/wsrep/r/MDEV-23081.result b/mysql-test/suite/wsrep/r/MDEV-23081.result new file mode 100644 index 00000000..5d0ad90b --- /dev/null +++ b/mysql-test/suite/wsrep/r/MDEV-23081.result @@ -0,0 +1,24 @@ +CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB; +connect con1, localhost, root; +SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification"; +SET DEBUG_SYNC = "wsrep_before_commit_order_enter SIGNAL before_commit_order_reached_1 WAIT_FOR continue_before_commit_order_1"; +INSERT INTO t1 VALUES (9); +connect con_ctrl, localhost, root; +SET DEBUG_SYNC = "now WAIT_FOR after_certification_reached"; +connect con2, localhost, root; +SET DEBUG_SYNC = "wsrep_before_commit_order_enter SIGNAL before_commit_order_reached_2 WAIT_FOR continue_before_commit_order_2"; +INSERT INTO t1 VALUES (10); +connection con_ctrl; +SET DEBUG_SYNC = "now WAIT_FOR before_commit_order_reached_2"; +SET DEBUG_SYNC = "now SIGNAL continue_after_certification"; +SET DEBUG_SYNC = "now WAIT_FOR before_commit_order_reached_1"; +connection default; +# Kill the server +XA RECOVER; +formatID gtrid_length bqual_length data +disconnect con1; +disconnect con2; +disconnect con_ctrl; +connection default; +DROP TABLE t1; +CALL mtr.add_suppression("You need to use --log-bin to make --binlog-format work"); diff --git a/mysql-test/suite/wsrep/r/MDEV-23092.result b/mysql-test/suite/wsrep/r/MDEV-23092.result new file mode 100644 index 00000000..d88aacf7 --- /dev/null +++ b/mysql-test/suite/wsrep/r/MDEV-23092.result @@ -0,0 +1,13 @@ +SET COLLATION_CONNECTION='utf16le_bin'; +SET GLOBAL wsrep_provider='/invalid/path/libgalera_smm.so'; +ERROR 42000: Variable 'wsrep_provider' can't be set to the value of '/' +SET GLOBAL wsrep_cluster_address='OFF'; +SET GLOBAL wsrep_slave_threads=10; +SELECT 1; +1 +1 +SET GLOBAL wsrep_cluster_address='gcomm://'; +SET GLOBAL wsrep_slave_threads=DEFAULT; +CALL mtr.add_suppression("wsrep_load()"); +CALL mtr.add_suppression("Failed to create a new provider"); +CALL mtr.add_suppression("Failed to load provider"); diff --git a/mysql-test/suite/wsrep/r/MDEV-23466.result b/mysql-test/suite/wsrep/r/MDEV-23466.result new file mode 100644 index 00000000..a019704d --- /dev/null +++ b/mysql-test/suite/wsrep/r/MDEV-23466.result @@ -0,0 +1,3 @@ +SELECT WSREP_LAST_SEEN_GTID(); +WSREP_LAST_SEEN_GTID() +0-0-0 diff --git a/mysql-test/suite/wsrep/r/alter_table_innodb.result b/mysql-test/suite/wsrep/r/alter_table_innodb.result new file mode 100644 index 00000000..85017cec --- /dev/null +++ b/mysql-test/suite/wsrep/r/alter_table_innodb.result @@ -0,0 +1,8 @@ +# +# MDEV-7374 : Losing connection to MySQL while running ALTER TABLE +# +CREATE TABLE t1(i INT) ENGINE=INNODB; +INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8); +INSERT INTO t1 SELECT a.* FROM t1 a, t1 b, t1 c, t1 d, t1 e; +ALTER TABLE t1 MODIFY i FLOAT; +DROP TABLE t1; diff --git a/mysql-test/suite/wsrep/r/binlog_format.result b/mysql-test/suite/wsrep/r/binlog_format.result new file mode 100644 index 00000000..079ceb97 --- /dev/null +++ b/mysql-test/suite/wsrep/r/binlog_format.result @@ -0,0 +1,61 @@ +call mtr.add_suppression("WSREP: MariaDB Galera does not support binlog format"); +call mtr.add_suppression("WSREP: Cannot get fake transaction ID from storage engine."); +# +# MDEV-4227: Galera server should stop crashing on setting binlog_format STATEMENT +# +SHOW VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format ROW +SET binlog_format=STATEMENT; +Warnings: +Warning 1105 MariaDB Galera and flashback do not support binlog format: STATEMENT +SHOW WARNINGS; +Level Code Message +Warning 1105 MariaDB Galera and flashback do not support binlog format: STATEMENT +SHOW VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format STATEMENT +CREATE TABLE IF NOT EXISTS test.t1 AS SELECT * FROM information_schema.routines WHERE 1 = 0; +SET binlog_format=MIXED; +Warnings: +Warning 1105 MariaDB Galera and flashback do not support binlog format: MIXED +SHOW WARNINGS; +Level Code Message +Warning 1105 MariaDB Galera and flashback do not support binlog format: MIXED +SHOW VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format MIXED +CREATE TABLE IF NOT EXISTS test.t2 AS SELECT * FROM information_schema.routines WHERE 1 = 0; +SET binlog_format=ROW; +SHOW WARNINGS; +Level Code Message +SHOW VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format ROW +CREATE TABLE IF NOT EXISTS test.t3 AS SELECT * FROM information_schema.routines WHERE 1 = 0; +DROP TABLE IF EXISTS test.t1; +DROP TABLE IF EXISTS test.t2; +DROP TABLE IF EXISTS test.t3; +# +# MDEV-7322: Option to allow setting the binlog_format with Galera +# +SET @@GLOBAL.binlog_format=STATEMENT; +ERROR 42000: Variable 'binlog_format' can't be set to the value of 'STATEMENT' +SHOW GLOBAL VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format ROW +SET @@GLOBAL.binlog_format=MIXED; +ERROR 42000: Variable 'binlog_format' can't be set to the value of 'MIXED' +SHOW GLOBAL VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format ROW +SET @@GLOBAL.binlog_format=DEFAULT; +ERROR 42000: Variable 'binlog_format' can't be set to the value of 'DEFAULT' +SHOW GLOBAL VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format ROW +SET @@GLOBAL.binlog_format=ROW; +SHOW GLOBAL VARIABLES LIKE 'binlog_format'; +Variable_name Value +binlog_format ROW +# End of test. diff --git a/mysql-test/suite/wsrep/r/foreign_key.result b/mysql-test/suite/wsrep/r/foreign_key.result new file mode 100644 index 00000000..c8407480 --- /dev/null +++ b/mysql-test/suite/wsrep/r/foreign_key.result @@ -0,0 +1,19 @@ +USE test; +create table p(v varchar(20), i int, primary key(v,i)) engine=innodb character set = utf8; +create table c(k int primary key, v varchar(20), i int, foreign key(v,i) references p(v,i)) engine=innodb character set = utf8; +insert into p values (_utf32 0x000004100000041100000412, 1); +insert into c values (1, _utf32 0x000004100000041100000412, 1); +SELECT * FROM test.p; +v i +??? 1 +SELECT * FROM test.c; +k v i +1 ??? 1 +SELECT * FROM test.p; +v i +??? 1 +SELECT * FROM test.c; +k v i +1 ??? 1 +DROP TABLE c; +DROP TABLE p; diff --git a/mysql-test/suite/wsrep/r/mdev_10186.result b/mysql-test/suite/wsrep/r/mdev_10186.result new file mode 100644 index 00000000..a21e77a2 --- /dev/null +++ b/mysql-test/suite/wsrep/r/mdev_10186.result @@ -0,0 +1,8 @@ +# +# MDEV-10186: mysqld crash when runtime setting +# wsrep_cluster_address without wsrep_on=ON +# +SELECT @@wsrep_on; +@@wsrep_on +0 +SET @@GLOBAL.wsrep_cluster_address='gcomm://'; diff --git a/mysql-test/suite/wsrep/r/mdev_22681.result b/mysql-test/suite/wsrep/r/mdev_22681.result new file mode 100644 index 00000000..ecce324e --- /dev/null +++ b/mysql-test/suite/wsrep/r/mdev_22681.result @@ -0,0 +1,3 @@ +CREATE TABLE t1 (a INT) ENGINE=InnoDB; +EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'; +DROP TABLE t1; diff --git a/mysql-test/suite/wsrep/r/mdev_6832.result b/mysql-test/suite/wsrep/r/mdev_6832.result new file mode 100644 index 00000000..43894a6e --- /dev/null +++ b/mysql-test/suite/wsrep/r/mdev_6832.result @@ -0,0 +1,11 @@ +# +# MDEV-6832: ER_LOCK_WAIT_TIMEOUT on SHOW STATUS +# +SHOW STATUS LIKE 'wsrep_ready'; +Variable_name Value +wsrep_ready ON +SHOW STATUS LIKE 'wsrep_ready'; +Variable_name Value +wsrep_ready OFF +SET @@global.wsrep_cluster_address='gcomm://'; +# End of test. diff --git a/mysql-test/suite/wsrep/r/mdev_7798.result b/mysql-test/suite/wsrep/r/mdev_7798.result new file mode 100644 index 00000000..ec906ccd --- /dev/null +++ b/mysql-test/suite/wsrep/r/mdev_7798.result @@ -0,0 +1,14 @@ +# +# MDEV-7798: mysql.server init script can't stop mysqld when WSREP is +# turned off +# +SELECT @@GLOBAL.WSREP_ON; +@@GLOBAL.WSREP_ON +1 +SET GLOBAL WSREP_ON= 0; +Restart the node. +# restart +SELECT @@GLOBAL.WSREP_ON; +@@GLOBAL.WSREP_ON +1 +# End of test. diff --git a/mysql-test/suite/wsrep/r/plugin.result b/mysql-test/suite/wsrep/r/plugin.result new file mode 100644 index 00000000..4f52173c --- /dev/null +++ b/mysql-test/suite/wsrep/r/plugin.result @@ -0,0 +1,3 @@ +SELECT plugin_name,plugin_version,plugin_maturity FROM information_schema.plugins where plugin_name like 'wsrep' ORDER BY plugin_maturity,plugin_name; +plugin_name plugin_version plugin_maturity +wsrep 1.0 Stable diff --git a/mysql-test/suite/wsrep/r/pool_of_threads.result b/mysql-test/suite/wsrep/r/pool_of_threads.result new file mode 100644 index 00000000..ffe309f2 --- /dev/null +++ b/mysql-test/suite/wsrep/r/pool_of_threads.result @@ -0,0 +1,8 @@ + +# +# MDEV#5687: Maria doesn't shutdown following upgrade to 5.5.35-galera +# +SELECT @@GLOBAL.thread_handling; +@@GLOBAL.thread_handling +pool-of-threads +# End of test. diff --git a/mysql-test/suite/wsrep/r/trans.result b/mysql-test/suite/wsrep/r/trans.result new file mode 100644 index 00000000..bc225897 --- /dev/null +++ b/mysql-test/suite/wsrep/r/trans.result @@ -0,0 +1,9 @@ +# +# MDEV-4222 : Assertion `( ((global_system_variables.wsrep_on) && +# (thd && thd->variables.wsrep_on)) && srep_emulate_bin_log) +# || mysql_bin_log .is_open()' fails on SAVEPOINT with +# disabled wsrep_provider +# +START TRANSACTION WITH CONSISTENT SNAPSHOT; +SAVEPOINT A; +End of test. diff --git a/mysql-test/suite/wsrep/r/variables.result b/mysql-test/suite/wsrep/r/variables.result new file mode 100644 index 00000000..2d5d5a66 --- /dev/null +++ b/mysql-test/suite/wsrep/r/variables.result @@ -0,0 +1,142 @@ +# Correct Galera library found +SHOW GLOBAL STATUS LIKE 'wsrep%'; +Variable_name Value +wsrep_local_state_uuid # +wsrep_protocol_version # +wsrep_last_committed # +wsrep_replicated # +wsrep_replicated_bytes # +wsrep_repl_keys # +wsrep_repl_keys_bytes # +wsrep_repl_data_bytes # +wsrep_repl_other_bytes # +wsrep_received # +wsrep_received_bytes # +wsrep_local_commits # +wsrep_local_cert_failures # +wsrep_local_replays # +wsrep_local_send_queue # +wsrep_local_send_queue_max # +wsrep_local_send_queue_min # +wsrep_local_send_queue_avg # +wsrep_local_recv_queue # +wsrep_local_recv_queue_max # +wsrep_local_recv_queue_min # +wsrep_local_recv_queue_avg # +wsrep_local_cached_downto # +wsrep_flow_control_paused_ns # +wsrep_flow_control_paused # +wsrep_flow_control_sent # +wsrep_flow_control_recv # +wsrep_flow_control_active # +wsrep_flow_control_requested # +wsrep_cert_deps_distance # +wsrep_apply_oooe # +wsrep_apply_oool # +wsrep_apply_window # +wsrep_apply_waits # +wsrep_commit_oooe # +wsrep_commit_oool # +wsrep_commit_window # +wsrep_local_state # +wsrep_local_state_comment # +wsrep_cert_index_size # +wsrep_causal_reads # +wsrep_cert_interval # +wsrep_open_transactions # +wsrep_open_connections # +wsrep_incoming_addresses # +wsrep_cluster_weight # +wsrep_desync_count # +wsrep_evs_delayed # +wsrep_evs_evict_list # +wsrep_evs_repl_latency # +wsrep_evs_state # +wsrep_gcomm_uuid # +wsrep_gmcast_segment # +wsrep_applier_thread_count # +wsrep_cluster_capabilities # +wsrep_cluster_conf_id # +wsrep_cluster_size # +wsrep_cluster_state_uuid # +wsrep_cluster_status # +wsrep_connected # +wsrep_local_bf_aborts # +wsrep_local_index # +wsrep_provider_capabilities # +wsrep_provider_name # +wsrep_provider_vendor # +wsrep_provider_version # +wsrep_ready # +wsrep_rollbacker_thread_count # +wsrep_thread_count # +# Should show nothing. +SHOW STATUS LIKE 'x'; +Variable_name Value +SELECT @@global.wsrep_cluster_address; +@@global.wsrep_cluster_address +gcomm:// +SELECT @@global.wsrep_on; +@@global.wsrep_on +1 +SHOW STATUS LIKE 'threads_connected'; +Variable_name Value +Threads_connected 1 +SHOW STATUS LIKE 'wsrep_thread_count'; +Variable_name Value +wsrep_thread_count 2 +# variables +SELECT VARIABLE_NAME FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep%" ORDER BY VARIABLE_NAME; +VARIABLE_NAME +WSREP_ALLOWLIST +WSREP_AUTO_INCREMENT_CONTROL +WSREP_CAUSAL_READS +WSREP_CERTIFICATION_RULES +WSREP_CERTIFY_NONPK +WSREP_CLUSTER_ADDRESS +WSREP_CLUSTER_NAME +WSREP_CONVERT_LOCK_TO_TRX +WSREP_DATA_HOME_DIR +WSREP_DBUG_OPTION +WSREP_DEBUG +WSREP_DESYNC +WSREP_DIRTY_READS +WSREP_DRUPAL_282555_WORKAROUND +WSREP_FORCED_BINLOG_FORMAT +WSREP_GTID_DOMAIN_ID +WSREP_GTID_MODE +WSREP_GTID_SEQ_NO +WSREP_IGNORE_APPLY_ERRORS +WSREP_LOAD_DATA_SPLITTING +WSREP_LOG_CONFLICTS +WSREP_MAX_WS_ROWS +WSREP_MAX_WS_SIZE +WSREP_MODE +WSREP_MYSQL_REPLICATION_BUNDLE +WSREP_NODE_ADDRESS +WSREP_NODE_INCOMING_ADDRESS +WSREP_NODE_NAME +WSREP_NOTIFY_CMD +WSREP_ON +WSREP_OSU_METHOD +WSREP_PATCH_VERSION +WSREP_PROVIDER +WSREP_PROVIDER_OPTIONS +WSREP_RECOVER +WSREP_REJECT_QUERIES +WSREP_RESTART_SLAVE +WSREP_RETRY_AUTOCOMMIT +WSREP_SLAVE_FK_CHECKS +WSREP_SLAVE_THREADS +WSREP_SLAVE_UK_CHECKS +WSREP_SR_STORE +WSREP_SST_AUTH +WSREP_SST_DONOR +WSREP_SST_DONOR_REJECTS_QUERIES +WSREP_SST_METHOD +WSREP_SST_RECEIVE_ADDRESS +WSREP_START_POSITION +WSREP_STATUS_FILE +WSREP_SYNC_WAIT +WSREP_TRX_FRAGMENT_SIZE +WSREP_TRX_FRAGMENT_UNIT diff --git a/mysql-test/suite/wsrep/r/variables_debug.result b/mysql-test/suite/wsrep/r/variables_debug.result new file mode 100644 index 00000000..2ce69827 --- /dev/null +++ b/mysql-test/suite/wsrep/r/variables_debug.result @@ -0,0 +1,143 @@ +# Correct Galera library found +SHOW GLOBAL STATUS LIKE 'wsrep%'; +Variable_name Value +wsrep_local_state_uuid # +wsrep_protocol_version # +wsrep_last_committed # +wsrep_replicated # +wsrep_replicated_bytes # +wsrep_repl_keys # +wsrep_repl_keys_bytes # +wsrep_repl_data_bytes # +wsrep_repl_other_bytes # +wsrep_received # +wsrep_received_bytes # +wsrep_local_commits # +wsrep_local_cert_failures # +wsrep_local_replays # +wsrep_local_send_queue # +wsrep_local_send_queue_max # +wsrep_local_send_queue_min # +wsrep_local_send_queue_avg # +wsrep_local_recv_queue # +wsrep_local_recv_queue_max # +wsrep_local_recv_queue_min # +wsrep_local_recv_queue_avg # +wsrep_local_cached_downto # +wsrep_flow_control_paused_ns # +wsrep_flow_control_paused # +wsrep_flow_control_sent # +wsrep_flow_control_recv # +wsrep_flow_control_active # +wsrep_flow_control_requested # +wsrep_cert_deps_distance # +wsrep_apply_oooe # +wsrep_apply_oool # +wsrep_apply_window # +wsrep_apply_waits # +wsrep_commit_oooe # +wsrep_commit_oool # +wsrep_commit_window # +wsrep_local_state # +wsrep_local_state_comment # +wsrep_cert_index_size # +wsrep_causal_reads # +wsrep_cert_interval # +wsrep_open_transactions # +wsrep_open_connections # +wsrep_incoming_addresses # +wsrep_cluster_weight # +wsrep_debug_sync_waiters # +wsrep_desync_count # +wsrep_evs_delayed # +wsrep_evs_evict_list # +wsrep_evs_repl_latency # +wsrep_evs_state # +wsrep_gcomm_uuid # +wsrep_gmcast_segment # +wsrep_applier_thread_count # +wsrep_cluster_capabilities # +wsrep_cluster_conf_id # +wsrep_cluster_size # +wsrep_cluster_state_uuid # +wsrep_cluster_status # +wsrep_connected # +wsrep_local_bf_aborts # +wsrep_local_index # +wsrep_provider_capabilities # +wsrep_provider_name # +wsrep_provider_vendor # +wsrep_provider_version # +wsrep_ready # +wsrep_rollbacker_thread_count # +wsrep_thread_count # +# Should show nothing. +SHOW STATUS LIKE 'x'; +Variable_name Value +SELECT @@global.wsrep_cluster_address; +@@global.wsrep_cluster_address +gcomm:// +SELECT @@global.wsrep_on; +@@global.wsrep_on +1 +SHOW STATUS LIKE 'threads_connected'; +Variable_name Value +Threads_connected 1 +SHOW STATUS LIKE 'wsrep_thread_count'; +Variable_name Value +wsrep_thread_count 2 +# variables +SELECT VARIABLE_NAME FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE "wsrep%" ORDER BY VARIABLE_NAME; +VARIABLE_NAME +WSREP_ALLOWLIST +WSREP_AUTO_INCREMENT_CONTROL +WSREP_CAUSAL_READS +WSREP_CERTIFICATION_RULES +WSREP_CERTIFY_NONPK +WSREP_CLUSTER_ADDRESS +WSREP_CLUSTER_NAME +WSREP_CONVERT_LOCK_TO_TRX +WSREP_DATA_HOME_DIR +WSREP_DBUG_OPTION +WSREP_DEBUG +WSREP_DESYNC +WSREP_DIRTY_READS +WSREP_DRUPAL_282555_WORKAROUND +WSREP_FORCED_BINLOG_FORMAT +WSREP_GTID_DOMAIN_ID +WSREP_GTID_MODE +WSREP_GTID_SEQ_NO +WSREP_IGNORE_APPLY_ERRORS +WSREP_LOAD_DATA_SPLITTING +WSREP_LOG_CONFLICTS +WSREP_MAX_WS_ROWS +WSREP_MAX_WS_SIZE +WSREP_MODE +WSREP_MYSQL_REPLICATION_BUNDLE +WSREP_NODE_ADDRESS +WSREP_NODE_INCOMING_ADDRESS +WSREP_NODE_NAME +WSREP_NOTIFY_CMD +WSREP_ON +WSREP_OSU_METHOD +WSREP_PATCH_VERSION +WSREP_PROVIDER +WSREP_PROVIDER_OPTIONS +WSREP_RECOVER +WSREP_REJECT_QUERIES +WSREP_RESTART_SLAVE +WSREP_RETRY_AUTOCOMMIT +WSREP_SLAVE_FK_CHECKS +WSREP_SLAVE_THREADS +WSREP_SLAVE_UK_CHECKS +WSREP_SR_STORE +WSREP_SST_AUTH +WSREP_SST_DONOR +WSREP_SST_DONOR_REJECTS_QUERIES +WSREP_SST_METHOD +WSREP_SST_RECEIVE_ADDRESS +WSREP_START_POSITION +WSREP_STATUS_FILE +WSREP_SYNC_WAIT +WSREP_TRX_FRAGMENT_SIZE +WSREP_TRX_FRAGMENT_UNIT diff --git a/mysql-test/suite/wsrep/r/wsrep-recover-v25,binlogon.rdiff b/mysql-test/suite/wsrep/r/wsrep-recover-v25,binlogon.rdiff new file mode 100644 index 00000000..596abf9c --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep-recover-v25,binlogon.rdiff @@ -0,0 +1,19 @@ +--- r/wsrep-recover-v25.result 2019-02-28 09:20:56.153775856 +0200 ++++ r/wsrep-recover-v25.reject 2019-02-28 09:22:16.578113115 +0200 +@@ -12,4 +12,16 @@ + SELECT VARIABLE_VALUE `expect 6` FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'; + expect 6 + 6 ++connect con1, localhost, root; ++SET DEBUG_SYNC = "ha_commit_trans_after_prepare SIGNAL after_prepare_reached WAIT_FOR continue"; ++INSERT INTO t1 VALUES (7); ++connection default; ++SET DEBUG_SYNC = "now WAIT_FOR after_prepare_reached"; ++# Kill the server ++Expect seqno 6 ++6 ++Expect 5 ++SELECT * FROM t1; ++f1 ++5 + DROP TABLE t1; diff --git a/mysql-test/suite/wsrep/r/wsrep-recover-v25.result b/mysql-test/suite/wsrep/r/wsrep-recover-v25.result new file mode 100644 index 00000000..c6e9246a --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep-recover-v25.result @@ -0,0 +1,15 @@ +# Kill the server +Expect seqno 1 +1 +CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB; +# Kill the server +Expect seqno 3 +3 +INSERT INTO t1 VALUES (5); +# Kill the server +Expect seqno 5 +5 +SELECT VARIABLE_VALUE `expect 6` FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'; +expect 6 +6 +DROP TABLE t1; diff --git a/mysql-test/suite/wsrep/r/wsrep-recover.result b/mysql-test/suite/wsrep/r/wsrep-recover.result new file mode 100644 index 00000000..44b50a75 --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep-recover.result @@ -0,0 +1,64 @@ +# Kill the server +Expect seqno 1 +1 +CREATE TABLE t1 (f1 INT PRIMARY KEY) ENGINE=InnoDB; +# Kill the server +Expect seqno 3 +3 +INSERT INTO t1 VALUES (5); +# Kill the server +Expect seqno 5 +5 +SELECT VARIABLE_VALUE `expect 6` FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'; +expect 6 +6 +connect con1, localhost, root; +SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue"; +INSERT INTO t1 VALUES (7); +connect con_ctrl, localhost, root; +SET DEBUG_SYNC = "now WAIT_FOR after_certification_reached"; +connect con2, localhost, root; +SET DEBUG_SYNC = "wsrep_before_commit_order_enter SIGNAL before_commit_order_reached WAIT_FOR continue"; +INSERT INTO t1 VALUES (8); +connection con_ctrl; +SET DEBUG_SYNC = "now WAIT_FOR before_commit_order_reached"; +connection default; +# Kill the server +Expect seqno 6 +6 +disconnect con1; +disconnect con2; +disconnect con_ctrl; +connection default; +SELECT VARIABLE_VALUE `expect 7` FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'; +expect 7 +7 +connect con1, localhost, root; +SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification"; +SET DEBUG_SYNC = "wsrep_before_commit_order_enter SIGNAL before_commit_order_reached_1 WAIT_FOR continue_before_commit_order_1"; +INSERT INTO t1 VALUES (9); +connect con_ctrl, localhost, root; +SET DEBUG_SYNC = "now WAIT_FOR after_certification_reached"; +connect con2, localhost, root; +SET DEBUG_SYNC = "wsrep_before_commit_order_enter SIGNAL before_commit_order_reached_2 WAIT_FOR continue_before_commit_order_2"; +INSERT INTO t1 VALUES (10); +connection con_ctrl; +SET DEBUG_SYNC = "now WAIT_FOR before_commit_order_reached_2"; +SET DEBUG_SYNC = "now SIGNAL continue_after_certification"; +SET DEBUG_SYNC = "now WAIT_FOR before_commit_order_reached_1"; +connection default; +# Kill the server +Expect seqno 7 +7 +disconnect con1; +disconnect con2; +disconnect con_ctrl; +connection default; +SELECT VARIABLE_VALUE `expect 8` FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'; +expect 8 +8 +Expect row 5 +SELECT * FROM t1; +f1 +5 +DROP TABLE t1; diff --git a/mysql-test/suite/wsrep/r/wsrep_on_basic.result b/mysql-test/suite/wsrep/r/wsrep_on_basic.result new file mode 100644 index 00000000..b3186fa6 --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep_on_basic.result @@ -0,0 +1,50 @@ +# +# wsrep_on +# +# save the initial values +SET @wsrep_on_global_saved = @@global.wsrep_on; +SET @wsrep_on_session_saved = @@session.wsrep_on; +# default +SELECT @@global.wsrep_on; +@@global.wsrep_on +1 +SELECT @@session.wsrep_on; +@@session.wsrep_on +1 + +# scope and valid values +SET @@global.wsrep_on=OFF; +SELECT @@global.wsrep_on; +@@global.wsrep_on +0 +SET @@global.wsrep_on=ON; +SELECT @@global.wsrep_on; +@@global.wsrep_on +1 +SET @@session.wsrep_on=OFF; +SELECT @@session.wsrep_on; +@@session.wsrep_on +0 +SET @@session.wsrep_on=ON; +SELECT @@session.wsrep_on; +@@session.wsrep_on +1 +SET @@session.wsrep_on=default; +SELECT @@session.wsrep_on; +@@session.wsrep_on +1 + +# invalid values +SET @@global.wsrep_on=NULL; +ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'NULL' +SET @@global.wsrep_on='junk'; +ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'junk' +SET @@session.wsrep_on=NULL; +ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'NULL' +SET @@session.wsrep_on='junk'; +ERROR 42000: Variable 'wsrep_on' can't be set to the value of 'junk' + +# restore the initial values +SET @@global.wsrep_on = @wsrep_on_global_saved; +SET @@session.wsrep_on = @wsrep_on_session_saved; +# End of test diff --git a/mysql-test/suite/wsrep/r/wsrep_rpl.result b/mysql-test/suite/wsrep/r/wsrep_rpl.result new file mode 100644 index 00000000..0d8f7bd9 --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep_rpl.result @@ -0,0 +1,33 @@ +include/master-slave.inc +[connection master] +# +# MDEV-10714: Could not execute Delete_rows event on table; +# wsrep_max_ws_rows exceeded. Error_Code 1180 +# +connection master; +connection slave; +connection master; +CREATE TABLE t1(i INT) ENGINE = INNODB; +SET @@GLOBAL.wsrep_max_ws_rows = 2; +INSERT INTO t1 VALUES(1), (2); +connection slave; +SELECT COUNT(*) = 2 FROM t1; +COUNT(*) = 2 +1 +connection slave; +SET @@GLOBAL.wsrep_max_ws_rows = 2; +connection master; +DELETE FROM t1; +connection slave; +SELECT COUNT(*) = 0 FROM t1; +COUNT(*) = 0 +1 +connection master; +DROP TABLE t1; +connection slave; +connection master; +SET @@GLOBAL.wsrep_max_ws_rows = 0; +connection slave; +SET @@GLOBAL.wsrep_max_ws_rows = 0; +include/rpl_end.inc +# End of test. diff --git a/mysql-test/suite/wsrep/r/wsrep_variables_no_provider.result b/mysql-test/suite/wsrep/r/wsrep_variables_no_provider.result new file mode 100644 index 00000000..ad35dc8d --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep_variables_no_provider.result @@ -0,0 +1,44 @@ +SELECT @@wsrep_on; +@@wsrep_on +1 +SET @wsrep_slave_threads_global_saved = @@global.wsrep_slave_threads; +SET @wsrep_debug_saved = @@global.wsrep_debug; +SET @wsrep_provider_options_saved= @@global.wsrep_provider_options; +SET @wsrep_cluster_address_saved= @@global.wsrep_cluster_address; +SET GLOBAL wsrep_provider=none; +SET SESSION wsrep_trx_fragment_size=DEFAULT; +ERROR HY000: Incorrect arguments to SET +SELECT @@session.wsrep_trx_fragment_size; +@@session.wsrep_trx_fragment_size +0 +SET GLOBAL wsrep_start_position='12345678-1234-1234-1234-123456789012:100'; +ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-1234-1234-123456789012:100' +SHOW WARNINGS; +Level Code Message +Warning 1231 Cannot set 'wsrep_start_position' because wsrep is switched off or provider is not loaded +Error 1231 Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-1234-1234-123456789012:100' +SELECT @@global.wsrep_start_position; +@@global.wsrep_start_position +00000000-0000-0000-0000-000000000000:-1 +SET GLOBAL wsrep_debug=1; +Warnings: +Warning 1231 Setting 'wsrep_debug' has no effect because wsrep is switched off +SELECT @@global.wsrep_debug; +@@global.wsrep_debug +NONE +SET GLOBAL wsrep_slave_threads=5; +SELECT @@global.wsrep_slave_threads; +@@global.wsrep_slave_threads +5 +SET GLOBAL wsrep_desync=1; +ERROR HY000: WSREP (galera) not started +SELECT @@global.wsrep_desync; +@@global.wsrep_desync +0 +SET SESSION wsrep_trx_fragment_unit='rows'; +ERROR HY000: Incorrect arguments to SET +SELECT @@session.wsrep_trx_fragment_unit; +@@session.wsrep_trx_fragment_unit +rows +SET @@global.wsrep_slave_threads = @wsrep_slave_threads_global_saved; +SET @@global.wsrep_debug = @wsrep_debug_saved; diff --git a/mysql-test/suite/wsrep/r/wsrep_variables_sst_method.result b/mysql-test/suite/wsrep/r/wsrep_variables_sst_method.result new file mode 100644 index 00000000..1c830d41 --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep_variables_sst_method.result @@ -0,0 +1,61 @@ +SELECT @@wsrep_on; +@@wsrep_on +1 +SET @wsrep_sst_method_saved = @@global.wsrep_sst_method; +/* test currently supported methods */ +SET GLOBAL wsrep_sst_method=DEFAULT; +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +rsync +SET GLOBAL wsrep_sst_method='rsync'; +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +rsync +SET GLOBAL wsrep_sst_method='mysqldump'; +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +mysqldump +SET GLOBAL wsrep_sst_method='mariabackup'; +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +mariabackup +SET GLOBAL wsrep_sst_method='backup'; +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +backup +SET GLOBAL wsrep_sst_method='backup1.sh'; +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +backup1.sh +SET GLOBAL wsrep_sst_method='my method'; +ERROR 42000: Variable 'wsrep_sst_method' can't be set to the value of 'my method' +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +backup1.sh +SHOW WARNINGS; +Level Code Message +Error 1231 Variable 'wsrep_sst_method' can't be set to the value of 'my method' +SET GLOBAL wsrep_sst_method='/method'; +ERROR 42000: Variable 'wsrep_sst_method' can't be set to the value of '/method' +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +backup1.sh +SHOW WARNINGS; +Level Code Message +Error 1231 Variable 'wsrep_sst_method' can't be set to the value of '/method' +SET GLOBAL wsrep_sst_method='method!'; +ERROR 42000: Variable 'wsrep_sst_method' can't be set to the value of 'method!' +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +backup1.sh +SHOW WARNINGS; +Level Code Message +Error 1231 Variable 'wsrep_sst_method' can't be set to the value of 'method!' +SET GLOBAL wsrep_sst_method='method;'; +ERROR 42000: Variable 'wsrep_sst_method' can't be set to the value of 'method;' +SELECT @@global.wsrep_sst_method; +@@global.wsrep_sst_method +backup1.sh +SHOW WARNINGS; +Level Code Message +Error 1231 Variable 'wsrep_sst_method' can't be set to the value of 'method;' diff --git a/mysql-test/suite/wsrep/r/wsrep_variables_wsrep_off.result b/mysql-test/suite/wsrep/r/wsrep_variables_wsrep_off.result new file mode 100644 index 00000000..7cae89ea --- /dev/null +++ b/mysql-test/suite/wsrep/r/wsrep_variables_wsrep_off.result @@ -0,0 +1,39 @@ +SELECT @@wsrep_on; +@@wsrep_on +0 +SET @wsrep_slave_threads_global_saved = @@global.wsrep_slave_threads; +SET @wsrep_debug_saved = @@global.wsrep_debug; +SET SESSION wsrep_trx_fragment_size=DEFAULT; +ERROR HY000: Incorrect arguments to SET +SELECT @@session.wsrep_trx_fragment_size; +@@session.wsrep_trx_fragment_size +0 +SET GLOBAL wsrep_start_position='12345678-1234-1234-1234-123456789012:100'; +ERROR 42000: Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-1234-1234-123456789012:100' +SHOW WARNINGS; +Level Code Message +Warning 1231 Cannot set 'wsrep_start_position' because wsrep is switched off or provider is not loaded +Error 1231 Variable 'wsrep_start_position' can't be set to the value of '12345678-1234-1234-1234-123456789012:100' +SELECT @@global.wsrep_start_position; +@@global.wsrep_start_position +00000000-0000-0000-0000-000000000000:-1 +SET GLOBAL wsrep_debug=1; +Warnings: +Warning 1231 Setting 'wsrep_debug' has no effect because wsrep is switched off +SELECT @@global.wsrep_debug; +@@global.wsrep_debug +NONE +SET GLOBAL wsrep_slave_threads=5; +SELECT @@global.wsrep_slave_threads; +@@global.wsrep_slave_threads +5 +SET GLOBAL wsrep_desync=1; +ERROR HY000: WSREP (galera) not started +SELECT @@global.wsrep_desync; +@@global.wsrep_desync +0 +SET SESSION wsrep_trx_fragment_unit='rows'; +ERROR HY000: Incorrect arguments to SET +SELECT @@session.wsrep_trx_fragment_unit; +@@session.wsrep_trx_fragment_unit +rows |