diff options
Diffstat (limited to 'mysql-test/suite/galera')
57 files changed, 726 insertions, 114 deletions
diff --git a/mysql-test/suite/galera/galera_2nodes.cnf b/mysql-test/suite/galera/galera_2nodes.cnf index 956e09e7b82..e5cf769a910 100644 --- a/mysql-test/suite/galera/galera_2nodes.cnf +++ b/mysql-test/suite/galera/galera_2nodes.cnf @@ -2,13 +2,13 @@ !include include/default_mysqld.cnf [mysqld] +wsrep-on=1 binlog-format=row innodb-autoinc-lock-mode=2 default-storage-engine=innodb wsrep-provider=@ENV.WSREP_PROVIDER wsrep_node_address=127.0.0.1 # enforce read-committed characteristics across the cluster -wsrep-causal-reads=ON wsrep-sync-wait=7 [mysqld.1] diff --git a/mysql-test/suite/galera/galera_2nodes_as_master.cnf b/mysql-test/suite/galera/galera_2nodes_as_master.cnf index 08d860e9ba4..68c0cca29a2 100644 --- a/mysql-test/suite/galera/galera_2nodes_as_master.cnf +++ b/mysql-test/suite/galera/galera_2nodes_as_master.cnf @@ -7,6 +7,7 @@ !include include/default_mysqld.cnf [mysqld] +log-bin=mysqld-bin binlog-format=row innodb-autoinc-lock-mode=2 default-storage-engine=innodb @@ -17,9 +18,9 @@ default-storage-engine=innodb #sst_port=@OPT.port server-id=1 -log-bin=mysqld-bin log_slave_updates +wsrep-on=1 wsrep-provider=@ENV.WSREP_PROVIDER wsrep_provider_options='base_port=@mysqld.1.#galera_port;gcache.size=10M' wsrep_cluster_address=gcomm:// @@ -36,9 +37,9 @@ wsrep-sync-wait=7 #sst_port=@OPT.port server-id=2 -log-bin=mysqld-bin log_slave_updates +wsrep-on=1 wsrep_provider=@ENV.WSREP_PROVIDER wsrep_provider_options='base_port=@mysqld.2.#galera_port;gcache.size=10M' wsrep_cluster_address='gcomm://127.0.0.1:@mysqld.1.#galera_port' diff --git a/mysql-test/suite/galera/galera_2nodes_as_slave.cnf b/mysql-test/suite/galera/galera_2nodes_as_slave.cnf index 2a4b18da5f8..6d71649c274 100644 --- a/mysql-test/suite/galera/galera_2nodes_as_slave.cnf +++ b/mysql-test/suite/galera/galera_2nodes_as_slave.cnf @@ -17,6 +17,8 @@ server-id=1 #ist_port=@OPT.port #sst_port=@OPT.port +wsrep-on=1 + log-bin log-slave-updates @@ -39,6 +41,8 @@ server-id=2 #ist_port=@OPT.port #sst_port=@OPT.port +wsrep-on=1 + log-bin log-slave-updates diff --git a/mysql-test/suite/galera/galera_4nodes.cnf b/mysql-test/suite/galera/galera_4nodes.cnf index e54ff27759e..c93282e6c47 100644 --- a/mysql-test/suite/galera/galera_4nodes.cnf +++ b/mysql-test/suite/galera/galera_4nodes.cnf @@ -5,6 +5,7 @@ binlog-format=row innodb-autoinc-lock-mode=2 default-storage-engine=innodb +wsrep-on=1 wsrep-provider=@ENV.WSREP_PROVIDER wsrep_node_address=127.0.0.1 # enforce read-committed characteristics across the cluster diff --git a/mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc b/mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc index 5f87d23dcc1..cbd2c1c817a 100644 --- a/mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc +++ b/mysql-test/suite/galera/include/galera_sst_set_mysqldump.inc @@ -6,6 +6,7 @@ --connection node_1 # We need a user with a password to perform SST, otherwise we hit LP #1378253 +CREATE USER 'sst'; GRANT ALL PRIVILEGES ON *.* TO 'sst'; --let $wsrep_sst_auth_orig = `SELECT @@wsrep_sst_auth` diff --git a/mysql-test/suite/galera/include/print_gtid.inc b/mysql-test/suite/galera/include/print_gtid.inc new file mode 100644 index 00000000000..e6bd627e5ad --- /dev/null +++ b/mysql-test/suite/galera/include/print_gtid.inc @@ -0,0 +1,11 @@ +--echo list of GTID variables : +--disable_query_log +query_vertical +SELECT @@global.gtid_domain_id AS gtid_domain_id, + @@global.gtid_binlog_pos AS gtid_binlog_pos, + @@global.gtid_binlog_state AS gtid_binlog_state, + @@global.gtid_current_pos AS gtid_current_pos, + @@global.gtid_slave_pos AS gtid_slave_pos, + @@global.wsrep_gtid_domain_id AS wsrep_gtid_domain_id, + @@global.wsrep_gtid_mode AS wsrep_gtid_mode; +--enable_query_log diff --git a/mysql-test/suite/galera/r/create.result b/mysql-test/suite/galera/r/create.result index d32a0378eb6..99b8022393d 100644 --- a/mysql-test/suite/galera/r/create.result +++ b/mysql-test/suite/galera/r/create.result @@ -6,6 +6,8 @@ SET @@GLOBAL.wsrep_forced_binlog_format=STATEMENT; SHOW VARIABLES LIKE '%log%bin%'; Variable_name Value log_bin OFF +log_bin_basename +log_bin_index log_bin_trust_function_creators ON sql_log_bin ON USE test; @@ -56,4 +58,27 @@ t2 CREATE TABLE `t2` ( KEY `idx` (`i`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DROP TABLE t1, t2; +# +# MDEV-9853: WSREP says it cannot get fake InnoDB transaction ID +# followed by segmentation fault +# +CREATE TABLE `t1`(`c1` INT) ENGINE=INNODB; +SET autocommit=0; +CREATE TABLE `t2` (`c1` INT) ENGINE=INNODB SELECT * FROM t1; +COMMIT; +SET autocommit=1; +DROP TABLE t1, t2; +# +# MDEV-10235: Deadlock in CREATE TABLE ... AS SELECT .. if result set +# is empty in Galera +# +CREATE TABLE t1(c1 INT) ENGINE=INNODB; +INSERT INTO t1 VALUES(1); +CREATE TABLE t2 AS SELECT * FROM t1 WHERE c1=2; +SELECT * FROM t1; +c1 +1 +SELECT * FROM t2; +c1 +DROP TABLE t1, t2; # End of tests diff --git a/mysql-test/suite/galera/r/enforce_storage_engine.result b/mysql-test/suite/galera/r/enforce_storage_engine.result new file mode 100644 index 00000000000..a3513fc2789 --- /dev/null +++ b/mysql-test/suite/galera/r/enforce_storage_engine.result @@ -0,0 +1,22 @@ +# +# MDEV-8831 : enforce_storage_engine doesn't block table creation on +# other nodes (galera cluster) +# +SET @@enforce_storage_engine=INNODB; +CREATE TABLE t1(i INT) ENGINE=INNODB; +CREATE TABLE t2(i INT) ENGINE=MYISAM; +ERROR 42000: Unknown storage engine 'MyISAM' +INSERT INTO t1 VALUES(1); +SHOW TABLES; +Tables_in_test +t1 +SELECT COUNT(*)=1 FROM t1; +COUNT(*)=1 +1 +CREATE TABLE t2(i INT) ENGINE=MYISAM; +SHOW TABLES; +Tables_in_test +t1 +t2 +DROP TABLE t1, t2; +# End of tests diff --git a/mysql-test/suite/galera/r/galera_as_master.result b/mysql-test/suite/galera/r/galera_as_master.result index bd7d63ad1ab..e96d39aea0c 100644 --- a/mysql-test/suite/galera/r/galera_as_master.result +++ b/mysql-test/suite/galera/r/galera_as_master.result @@ -1,8 +1,49 @@ START SLAVE; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); +# Disable binary logging for current session +SET SQL_LOG_BIN=OFF; +CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t2 VALUES(1); INSERT INTO t1 VALUES(2); -DROP TABLE t1; +CREATE TABLE test.t3 AS SELECT * from t1; +SET SQL_LOG_BIN=ON; +INSERT INTO t1 VALUES(3); +CREATE TABLE test.t4 AS SELECT * from t1; +SELECT * FROM t1; +f1 +1 +2 +3 +SELECT * FROM t2; +f1 +1 +SELECT * FROM t3; +f1 +1 +2 +SELECT * FROM t4; +f1 +1 +2 +3 +SHOW TABLES; +Tables_in_test +t1 +t4 +SELECT * FROM t1; +f1 +1 +3 +SELECT * FROM t4; +f1 +1 +2 +3 +# Cleanup +DROP TABLE t1, t4; +SET SQL_LOG_BIN=OFF; +DROP TABLE t2, t3; STOP SLAVE; RESET SLAVE ALL; CALL mtr.add_suppression('You need to use --log-bin to make --binlog-format work'); diff --git a/mysql-test/suite/galera/r/galera_as_master_large.result b/mysql-test/suite/galera/r/galera_as_master_large.result new file mode 100644 index 00000000000..4d5533899cf --- /dev/null +++ b/mysql-test/suite/galera/r/galera_as_master_large.result @@ -0,0 +1,30 @@ +# +# MDEV-9044 : Getting binlog corruption on my Galera cluster (10.1.8) +# making it impossible to async slave. +# +START SLAVE; +SELECT @@GLOBAL.BINLOG_CACHE_SIZE; +@@GLOBAL.BINLOG_CACHE_SIZE +8192 +CREATE TABLE t1 (c1 INTEGER PRIMARY KEY, c2 VARCHAR(12000)) ENGINE=INNODB; +CREATE TABLE t2 (c1 INTEGER PRIMARY KEY) ENGINE=INNODB; +START TRANSACTION; +INSERT INTO t1 VALUES(1, REPEAT('-', 10000)); +COMMIT; +INSERT INTO t2 VALUES(1); +SELECT c1, LENGTH(c2) FROM t1; +c1 LENGTH(c2) +1 10000 +SELECT * FROM t2; +c1 +1 +SELECT c1, LENGTH(c2) FROM t1; +c1 LENGTH(c2) +1 10000 +SELECT * FROM t2; +c1 +1 +# Cleanup +DROP TABLE t1, t2; +STOP SLAVE; +RESET SLAVE ALL; diff --git a/mysql-test/suite/galera/r/galera_create_function.result b/mysql-test/suite/galera/r/galera_create_function.result index a35d7661a51..8e4a823d00f 100644 --- a/mysql-test/suite/galera/r/galera_create_function.result +++ b/mysql-test/suite/galera/r/galera_create_function.result @@ -20,7 +20,7 @@ SQL SECURITY INVOKER RETURN 123; SHOW CREATE FUNCTION f1; Function sql_mode Create Function character_set_client collation_connection Database Collation -f1 CREATE DEFINER=`user1`@`%` FUNCTION `f1`(param INTEGER) RETURNS varchar(200) CHARSET latin1 +f1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` FUNCTION `f1`(param INTEGER) RETURNS varchar(200) CHARSET latin1 MODIFIES SQL DATA COMMENT 'f1_comment' RETURN 'abc' latin1 latin1_swedish_ci latin1_swedish_ci @@ -29,20 +29,20 @@ SELECT 1 FROM DUAL; 1 SHOW CREATE FUNCTION f1; Function sql_mode Create Function character_set_client collation_connection Database Collation -f1 CREATE DEFINER=`user1`@`%` FUNCTION `f1`(param INTEGER) RETURNS varchar(200) CHARSET latin1 +f1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` FUNCTION `f1`(param INTEGER) RETURNS varchar(200) CHARSET latin1 MODIFIES SQL DATA COMMENT 'f1_comment' RETURN 'abc' latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE FUNCTION f2; Function sql_mode Create Function character_set_client collation_connection Database Collation -f2 CREATE DEFINER=`root`@`localhost` FUNCTION `f2`(param VARCHAR(100)) RETURNS int(11) +f2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f2`(param VARCHAR(100)) RETURNS int(11) NO SQL DETERMINISTIC SQL SECURITY INVOKER RETURN 123 latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE FUNCTION f2; Function sql_mode Create Function character_set_client collation_connection Database Collation -f2 CREATE DEFINER=`root`@`localhost` FUNCTION `f2`(param VARCHAR(100)) RETURNS int(11) +f2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f2`(param VARCHAR(100)) RETURNS int(11) NO SQL DETERMINISTIC SQL SECURITY INVOKER diff --git a/mysql-test/suite/galera/r/galera_create_procedure.result b/mysql-test/suite/galera/r/galera_create_procedure.result index 0806749ebc8..6191ef48ee5 100644 --- a/mysql-test/suite/galera/r/galera_create_procedure.result +++ b/mysql-test/suite/galera/r/galera_create_procedure.result @@ -18,7 +18,7 @@ NO SQL SQL SECURITY INVOKER BEGIN END ; SHOW CREATE PROCEDURE p1; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -p1 CREATE DEFINER=`user1`@`%` PROCEDURE `p1`(IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER) +p1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` PROCEDURE `p1`(IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER) MODIFIES SQL DATA COMMENT 'p1_comment' INSERT INTO t1 VALUES (1) latin1 latin1_swedish_ci latin1_swedish_ci @@ -27,20 +27,20 @@ SELECT 1 FROM DUAL; 1 SHOW CREATE PROCEDURE p1; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -p1 CREATE DEFINER=`user1`@`%` PROCEDURE `p1`(IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER) +p1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`user1`@`%` PROCEDURE `p1`(IN param1 INTEGER, OUT param2 INTEGER, INOUT param3 INTEGER) MODIFIES SQL DATA COMMENT 'p1_comment' INSERT INTO t1 VALUES (1) latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE PROCEDURE p2; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(param VARCHAR(100)) +p2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(param VARCHAR(100)) NO SQL DETERMINISTIC SQL SECURITY INVOKER BEGIN END latin1 latin1_swedish_ci latin1_swedish_ci SHOW CREATE PROCEDURE p2; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -p2 CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(param VARCHAR(100)) +p2 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `p2`(param VARCHAR(100)) NO SQL DETERMINISTIC SQL SECURITY INVOKER diff --git a/mysql-test/suite/galera/r/galera_defaults.result b/mysql-test/suite/galera/r/galera_defaults.result index 3d75b86172a..b6a16f72ec3 100644 --- a/mysql-test/suite/galera/r/galera_defaults.result +++ b/mysql-test/suite/galera/r/galera_defaults.result @@ -1,5 +1,5 @@ -SELECT COUNT(*) = 39 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%'; -COUNT(*) = 39 +SELECT COUNT(*) = 42 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%'; +COUNT(*) = 42 1 SELECT VARIABLE_NAME, VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -12,7 +12,8 @@ AND VARIABLE_NAME NOT IN ( 'WSREP_PROVIDER', 'WSREP_DATA_HOME_DIR', 'WSREP_NODE_INCOMING_ADDRESS', -'WSREP_START_POSITION' +'WSREP_START_POSITION', +'WSREP_PATCH_VERSION' ) ORDER BY VARIABLE_NAME; VARIABLE_NAME VARIABLE_VALUE @@ -27,6 +28,8 @@ WSREP_DEBUG OFF WSREP_DESYNC OFF WSREP_DRUPAL_282555_WORKAROUND OFF WSREP_FORCED_BINLOG_FORMAT NONE +WSREP_GTID_DOMAIN_ID 0 +WSREP_GTID_MODE OFF WSREP_LOAD_DATA_SPLITTING ON WSREP_LOG_CONFLICTS OFF WSREP_MAX_WS_ROWS 0 diff --git a/mysql-test/suite/galera/r/galera_flush.result b/mysql-test/suite/galera/r/galera_flush.result index 620ad1ccb67..71226432eda 100644 --- a/mysql-test/suite/galera/r/galera_flush.result +++ b/mysql-test/suite/galera/r/galera_flush.result @@ -6,7 +6,7 @@ FLUSH HOSTS; wsrep_last_committed_diff 1 SET GLOBAL wsrep_replicate_myisam = TRUE; -INSERT INTO mysql.user VALUES('localhost','user1',PASSWORD('pass1'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','','N','N'); +INSERT INTO mysql.user VALUES('localhost','user1',PASSWORD('pass1'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','','N','N','',0); FLUSH PRIVILEGES; DELETE FROM mysql.user WHERE user = 'user1'; SET GLOBAL wsrep_replicate_myisam = FALSE; diff --git a/mysql-test/suite/galera/r/galera_forced_binlog_format.result b/mysql-test/suite/galera/r/galera_forced_binlog_format.result index a793f7f6d8b..92e78685b58 100644 --- a/mysql-test/suite/galera/r/galera_forced_binlog_format.result +++ b/mysql-test/suite/galera/r/galera_forced_binlog_format.result @@ -8,7 +8,7 @@ SET SESSION binlog_format = 'MIXED'; Warnings: Warning 1105 MariaDB Galera does not support binlog format: MIXED INSERT INTO t1 VALUES (2); -SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 248; +SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 249; Log_name Pos Event_type Server_id End_log_pos Info mysqld-bin.000001 <Pos> Gtid_list 1 <End_log_pos> [] mysqld-bin.000001 <Pos> Binlog_checkpoint 1 <End_log_pos> mysqld-bin.000001 diff --git a/mysql-test/suite/galera/r/galera_ist_mysqldump.result b/mysql-test/suite/galera/r/galera_ist_mysqldump.result index 9a5b4e8a76f..788d60051b5 100644 --- a/mysql-test/suite/galera/r/galera_ist_mysqldump.result +++ b/mysql-test/suite/galera/r/galera_ist_mysqldump.result @@ -1,4 +1,5 @@ Setting SST method to mysqldump ... +CREATE USER 'sst'; GRANT ALL PRIVILEGES ON *.* TO 'sst'; SET GLOBAL wsrep_sst_auth = 'sst:'; SET GLOBAL wsrep_sst_method = 'mysqldump'; diff --git a/mysql-test/suite/galera/r/galera_log_bin.result b/mysql-test/suite/galera/r/galera_log_bin.result index 7243ff21722..4772f347375 100644 --- a/mysql-test/suite/galera/r/galera_log_bin.result +++ b/mysql-test/suite/galera/r/galera_log_bin.result @@ -13,47 +13,47 @@ ALTER TABLE t1 ADD COLUMN f2 INTEGER; FLUSH LOGS; SHOW BINLOG EVENTS IN 'mysqld-bin.000002' LIMIT 4,18; Log_name Pos Event_type Server_id End_log_pos Info -mysqld-bin.000002 353 Gtid 1 391 GTID 0-1-1 -mysqld-bin.000002 391 Query 1 504 use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB -mysqld-bin.000002 504 Gtid 1 542 BEGIN GTID 0-1-2 -mysqld-bin.000002 542 Table_map 1 583 table_id: # (test.t1) -mysqld-bin.000002 583 Write_rows_v1 1 617 table_id: # flags: STMT_END_F -mysqld-bin.000002 617 Xid 1 644 COMMIT /* xid=# */ -mysqld-bin.000002 644 Gtid 1 682 GTID 0-1-3 -mysqld-bin.000002 682 Query 1 783 use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB -mysqld-bin.000002 783 Gtid 1 821 BEGIN GTID 0-1-4 -mysqld-bin.000002 821 Table_map 1 862 table_id: # (test.t2) -mysqld-bin.000002 862 Write_rows_v1 1 896 table_id: # flags: STMT_END_F -mysqld-bin.000002 896 Xid 1 923 COMMIT /* xid=# */ -mysqld-bin.000002 923 Gtid 1 961 BEGIN GTID 0-1-5 -mysqld-bin.000002 961 Table_map 1 1002 table_id: # (test.t2) -mysqld-bin.000002 1002 Write_rows_v1 1 1036 table_id: # flags: STMT_END_F -mysqld-bin.000002 1036 Xid 1 1063 COMMIT /* xid=# */ -mysqld-bin.000002 1063 Gtid 1 1101 GTID 0-1-6 -mysqld-bin.000002 1101 Query 1 1200 use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER +mysqld-bin.000002 # Gtid # # GTID 0-1-1 +mysqld-bin.000002 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB +mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-2 +mysqld-bin.000002 # Table_map # # table_id: # (test.t1) +mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000002 # Xid # # COMMIT /* xid=# */ +mysqld-bin.000002 # Gtid # # GTID 0-1-3 +mysqld-bin.000002 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB +mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-4 +mysqld-bin.000002 # Table_map # # table_id: # (test.t2) +mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000002 # Xid # # COMMIT /* xid=# */ +mysqld-bin.000002 # Gtid # # BEGIN GTID 0-1-5 +mysqld-bin.000002 # Table_map # # table_id: # (test.t2) +mysqld-bin.000002 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000002 # Xid # # COMMIT /* xid=# */ +mysqld-bin.000002 # Gtid # # GTID 0-1-6 +mysqld-bin.000002 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; COUNT(*) = 2 1 -SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,19; +SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,18; Log_name Pos Event_type Server_id End_log_pos Info -mysqld-bin.000003 313 Gtid 1 351 GTID 0-1-1 -mysqld-bin.000003 351 Query 1 464 use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB -mysqld-bin.000003 464 Gtid 1 502 BEGIN GTID 0-1-2 -mysqld-bin.000003 502 Table_map 1 543 table_id: # (test.t1) -mysqld-bin.000003 543 Write_rows_v1 1 577 table_id: # flags: STMT_END_F -mysqld-bin.000003 577 Xid 1 604 COMMIT /* xid=# */ -mysqld-bin.000003 604 Gtid 1 642 GTID 0-1-3 -mysqld-bin.000003 642 Query 1 743 use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB -mysqld-bin.000003 743 Gtid 1 781 BEGIN GTID 0-1-4 -mysqld-bin.000003 781 Table_map 1 822 table_id: # (test.t2) -mysqld-bin.000003 822 Write_rows_v1 1 856 table_id: # flags: STMT_END_F -mysqld-bin.000003 856 Xid 1 883 COMMIT /* xid=# */ -mysqld-bin.000003 883 Gtid 1 921 BEGIN GTID 0-1-5 -mysqld-bin.000003 921 Table_map 1 962 table_id: # (test.t2) -mysqld-bin.000003 962 Write_rows_v1 1 996 table_id: # flags: STMT_END_F -mysqld-bin.000003 996 Xid 1 1023 COMMIT /* xid=# */ -mysqld-bin.000003 1023 Gtid 1 1061 GTID 0-1-6 -mysqld-bin.000003 1061 Query 1 1160 use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER +mysqld-bin.000003 # Gtid # # GTID 0-1-1 +mysqld-bin.000003 # Query # # use `test`; CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=InnoDB +mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-2 +mysqld-bin.000003 # Table_map # # table_id: # (test.t1) +mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000003 # Xid # # COMMIT /* xid=# */ +mysqld-bin.000003 # Gtid # # GTID 0-1-3 +mysqld-bin.000003 # Query # # use `test`; CREATE TABLE t2 (id INT) ENGINE=InnoDB +mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-4 +mysqld-bin.000003 # Table_map # # table_id: # (test.t2) +mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000003 # Xid # # COMMIT /* xid=# */ +mysqld-bin.000003 # Gtid # # BEGIN GTID 0-1-5 +mysqld-bin.000003 # Table_map # # table_id: # (test.t2) +mysqld-bin.000003 # Write_rows_v1 # # table_id: # flags: STMT_END_F +mysqld-bin.000003 # Xid # # COMMIT /* xid=# */ +mysqld-bin.000003 # Gtid # # GTID 0-1-6 +mysqld-bin.000003 # Query # # use `test`; ALTER TABLE t1 ADD COLUMN f2 INTEGER DROP TABLE t1; DROP TABLE t2; RESET MASTER; diff --git a/mysql-test/suite/galera/r/galera_many_tables_nopk.result b/mysql-test/suite/galera/r/galera_many_tables_nopk.result index 7a4f364730c..283905979ec 100644 --- a/mysql-test/suite/galera/r/galera_many_tables_nopk.result +++ b/mysql-test/suite/galera/r/galera_many_tables_nopk.result @@ -2,14 +2,14 @@ SET AUTOCOMMIT=OFF; START TRANSACTION; COMMIT; CREATE TABLE sum_table (f1 INTEGER); -SELECT SUM(f1) = 1000 FROM sum_table; -SUM(f1) = 1000 +SELECT SUM(f1) = 900 FROM sum_table; +SUM(f1) = 900 1 SET AUTOCOMMIT=OFF; START TRANSACTION; SET AUTOCOMMIT=OFF; START TRANSACTION; -UPDATE t1000 SET f1 = 3; +UPDATE t900 SET f1 = 3; COMMIT; COMMIT; ERROR 40001: Deadlock found when trying to get lock; try restarting transaction diff --git a/mysql-test/suite/galera/r/galera_many_tables_pk.result b/mysql-test/suite/galera/r/galera_many_tables_pk.result index 6b6899d979d..d0aa1694e85 100644 --- a/mysql-test/suite/galera/r/galera_many_tables_pk.result +++ b/mysql-test/suite/galera/r/galera_many_tables_pk.result @@ -1,18 +1,18 @@ -SELECT COUNT(*) = 1000 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't%'; -COUNT(*) = 1000 +SELECT COUNT(*) = 900 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't%'; +COUNT(*) = 900 1 SET AUTOCOMMIT=OFF; START TRANSACTION; COMMIT; CREATE TABLE sum_table (f1 INTEGER); -SELECT SUM(f1) = 1000 FROM sum_table; -SUM(f1) = 1000 +SELECT SUM(f1) = 900 FROM sum_table; +SUM(f1) = 900 1 SET AUTOCOMMIT=OFF; START TRANSACTION; SET AUTOCOMMIT=OFF; START TRANSACTION; -UPDATE t1000 SET f1 = 3; +UPDATE t900 SET f1 = 3; COMMIT; COMMIT; ERROR 40001: Deadlock found when trying to get lock; try restarting transaction diff --git a/mysql-test/suite/galera/r/galera_repl_max_ws_size.result b/mysql-test/suite/galera/r/galera_repl_max_ws_size.result index 70c09bda3f9..f7914a1b803 100644 --- a/mysql-test/suite/galera/r/galera_repl_max_ws_size.result +++ b/mysql-test/suite/galera/r/galera_repl_max_ws_size.result @@ -1,7 +1,7 @@ CREATE TABLE t1 (f1 VARCHAR(512)) ENGINE=InnoDB; SET GLOBAL wsrep_provider_options = 'repl.max_ws_size=512'; INSERT INTO t1 VALUES (REPEAT('a', 512)); -ERROR HY000: Got error 5 "Input/output error" during COMMIT +ERROR HY000: Got error 90 "Message too long" during COMMIT SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 1 diff --git a/mysql-test/suite/galera/r/galera_server.result b/mysql-test/suite/galera/r/galera_server.result new file mode 100644 index 00000000000..ef81bf376b0 --- /dev/null +++ b/mysql-test/suite/galera/r/galera_server.result @@ -0,0 +1,20 @@ +# On node_1 +CREATE SERVER s1 +FOREIGN DATA WRAPPER mysql +OPTIONS (HOST 'foo'); +# On node_2 +SELECT * FROM mysql.servers; +Server_name Host Db Username Password Port Socket Wrapper Owner +s1 foo 3306 mysql +ALTER SERVER s1 +OPTIONS (HOST 'bar'); +# On node_1 +SELECT * FROM mysql.servers; +Server_name Host Db Username Password Port Socket Wrapper Owner +s1 bar 3306 mysql +DROP SERVER s1; +# On node_2 +SELECT COUNT(*)=0 FROM mysql.servers; +COUNT(*)=0 +1 +# End of test diff --git a/mysql-test/suite/galera/r/galera_sql_log_bin_zero.result b/mysql-test/suite/galera/r/galera_sql_log_bin_zero.result index 89ab8d5e55b..c15a24e481f 100644 --- a/mysql-test/suite/galera/r/galera_sql_log_bin_zero.result +++ b/mysql-test/suite/galera/r/galera_sql_log_bin_zero.result @@ -3,10 +3,10 @@ SET SESSION sql_log_bin = 0; INSERT INTO t1 VALUES (1); SET SESSION sql_log_bin = 1; INSERT INTO t1 VALUES (2); -SELECT COUNT(*) = 1 FROM t1; -COUNT(*) = 1 +SELECT COUNT(*) = 2 FROM t1; +COUNT(*) = 2 1 -SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 1; -COUNT(*) = 0 +SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; +COUNT(*) = 1 1 DROP TABLE t1; diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump.result b/mysql-test/suite/galera/r/galera_sst_mysqldump.result index e35c4055f45..5c0d9a45d41 100644 --- a/mysql-test/suite/galera/r/galera_sst_mysqldump.result +++ b/mysql-test/suite/galera/r/galera_sst_mysqldump.result @@ -1,4 +1,5 @@ Setting SST method to mysqldump ... +CREATE USER 'sst'; GRANT ALL PRIVILEGES ON *.* TO 'sst'; SET GLOBAL wsrep_sst_auth = 'sst:'; SET GLOBAL wsrep_sst_method = 'mysqldump'; diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result index 7d30b356aa9..227e1c15444 100644 --- a/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result +++ b/mysql-test/suite/galera/r/galera_sst_mysqldump_with_key.result @@ -1,4 +1,5 @@ Setting SST method to mysqldump ... +CREATE USER 'sst'; GRANT ALL PRIVILEGES ON *.* TO 'sst'; SET GLOBAL wsrep_sst_auth = 'sst:'; SET GLOBAL wsrep_sst_method = 'mysqldump'; diff --git a/mysql-test/suite/galera/r/galera_sync_wait_show.result b/mysql-test/suite/galera/r/galera_sync_wait_show.result index c719aaab5d8..2f030c26bb8 100644 --- a/mysql-test/suite/galera/r/galera_sync_wait_show.result +++ b/mysql-test/suite/galera/r/galera_sync_wait_show.result @@ -7,7 +7,7 @@ DROP DATABASE db1; CREATE PROCEDURE p1 () SELECT 1 FROM DUAL; SHOW CREATE PROCEDURE p1; Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation -p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() +p1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() SELECT 1 FROM DUAL latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE p1; CREATE PROCEDURE p1 () SELECT 1 FROM DUAL; @@ -18,7 +18,7 @@ DROP PROCEDURE p1; CREATE FUNCTION f1 () RETURNS INTEGER RETURN 123; SHOW CREATE FUNCTION f1; Function sql_mode Create Function character_set_client collation_connection Database Collation -f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11) +f1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11) RETURN 123 latin1 latin1_swedish_ci latin1_swedish_ci DROP FUNCTION f1; CREATE FUNCTION f1 () RETURNS INTEGER RETURN 123; @@ -30,10 +30,10 @@ CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB; CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.f1 = 'a'; SHOW CREATE TRIGGER tr1; Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation -tr1 CREATE DEFINER=`root`@`localhost` TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.f1 = 'a' latin1 latin1_swedish_ci latin1_swedish_ci +tr1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.f1 = 'a' latin1 latin1_swedish_ci latin1_swedish_ci DROP TABLE t1; CREATE EVENT event1 ON SCHEDULE AT '2038-01-01 23:59:59' DO SELECT 1; SHOW CREATE EVENT event1; Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation -event1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `event1` ON SCHEDULE AT '2038-01-01 23:59:59' ON COMPLETION NOT PRESERVE DISABLE ON SLAVE DO SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci +event1 NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `event1` ON SCHEDULE AT '2038-01-01 23:59:59' ON COMPLETION NOT PRESERVE DISABLE ON SLAVE DO SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci DROP EVENT event1; diff --git a/mysql-test/suite/galera/r/galera_toi_ddl_locking.result b/mysql-test/suite/galera/r/galera_toi_ddl_locking.result index d72a80b5a23..f0a51db14d3 100644 --- a/mysql-test/suite/galera/r/galera_toi_ddl_locking.result +++ b/mysql-test/suite/galera/r/galera_toi_ddl_locking.result @@ -10,7 +10,7 @@ SELECT COUNT(*) = 0 FROM t2; COUNT(*) = 0 1 INSERT INTO t1 VALUES (1); -ERROR 40001: Deadlock found when trying to get lock; try restarting transaction +Got one of the listed errors SET AUTOCOMMIT=OFF; START TRANSACTION; INSERT INTO t2 VALUES (1); diff --git a/mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result b/mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result index 35dabb7654f..e6f37792569 100644 --- a/mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result +++ b/mysql-test/suite/galera/r/galera_var_certify_nonPK_off.result @@ -3,7 +3,7 @@ SET GLOBAL wsrep_certify_nonPK = OFF; CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB /* Table has no primary key */; CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES (1), (2); -ERROR 40001: Deadlock found when trying to get lock; try restarting transaction +Got one of the listed errors INSERT INTO t2 VALUES (1), (2); UPDATE t2 SET f1 = 3 WHERE f1 = 1; SELECT COUNT(*) = 0 FROM t1; diff --git a/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result b/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result new file mode 100644 index 00000000000..8e84236d5bf --- /dev/null +++ b/mysql-test/suite/galera/r/galera_var_gtid_domain_id.result @@ -0,0 +1,74 @@ +# On node_1 +list of GTID variables : +gtid_domain_id 1 +gtid_binlog_pos +gtid_binlog_state +gtid_current_pos +gtid_slave_pos +wsrep_gtid_domain_id 9999 +wsrep_gtid_mode 1 +# On node_2 +list of GTID variables : +gtid_domain_id 2 +gtid_binlog_pos +gtid_binlog_state +gtid_current_pos +gtid_slave_pos +wsrep_gtid_domain_id 9999 +wsrep_gtid_mode 1 +# On node_1 +CREATE TABLE t1(i INT) ENGINE=INNODB; +CREATE TABLE t2(i INT) ENGINE=MEMORY; +INSERT INTO t1 VALUES(1); +SELECT * FROM t1; +i +1 +SELECT * FROM t2; +i +list of GTID variables : +gtid_domain_id 1 +gtid_binlog_pos 9999-1-3 +gtid_binlog_state 9999-1-3 +gtid_current_pos 9999-1-3 +gtid_slave_pos +wsrep_gtid_domain_id 9999 +wsrep_gtid_mode 1 +# On node_2 +SELECT * FROM t1; +i +1 +list of GTID variables : +gtid_domain_id 2 +gtid_binlog_pos 9999-1-3 +gtid_binlog_state 9999-1-3 +gtid_current_pos +gtid_slave_pos +wsrep_gtid_domain_id 9999 +wsrep_gtid_mode 1 +# On node_1 +INSERT INTO t2 VALUES(1); +SELECT * FROM t2; +i +1 +list of GTID variables : +gtid_domain_id 1 +gtid_binlog_pos 1-1-1,9999-1-3 +gtid_binlog_state 1-1-1,9999-1-3 +gtid_current_pos 1-1-1,9999-1-3 +gtid_slave_pos +wsrep_gtid_domain_id 9999 +wsrep_gtid_mode 1 +# On node_2 +SELECT * FROM t2; +i +list of GTID variables : +gtid_domain_id 2 +gtid_binlog_pos 9999-1-3 +gtid_binlog_state 9999-1-3 +gtid_current_pos +gtid_slave_pos +wsrep_gtid_domain_id 9999 +wsrep_gtid_mode 1 +# On node_1 +DROP TABLE t1, t2; +# End of test diff --git a/mysql-test/suite/galera/r/galera_var_max_ws_size.result b/mysql-test/suite/galera/r/galera_var_max_ws_size.result index 0940b5f12c0..fe92fd888e5 100644 --- a/mysql-test/suite/galera/r/galera_var_max_ws_size.result +++ b/mysql-test/suite/galera/r/galera_var_max_ws_size.result @@ -1,7 +1,7 @@ CREATE TABLE t1 (f1 INTEGER AUTO_INCREMENT PRIMARY KEY, f2 VARCHAR(1024)) Engine=InnoDB; SET GLOBAL wsrep_max_ws_size = 1024; INSERT INTO t1 VALUES (DEFAULT, REPEAT('X', 1024)); -ERROR HY000: Got error 5 "Input/output error" during COMMIT +ERROR HY000: Got error 90 "Message too long" during COMMIT SELECT COUNT(*) = 0 FROM t1; COUNT(*) = 0 1 diff --git a/mysql-test/suite/galera/r/galera_var_sync_wait.result b/mysql-test/suite/galera/r/galera_var_sync_wait.result index f6136a4ddc4..df9cdfbd159 100644 --- a/mysql-test/suite/galera/r/galera_var_sync_wait.result +++ b/mysql-test/suite/galera/r/galera_var_sync_wait.result @@ -1,3 +1,12 @@ +# +# MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file +# +SELECT @@global.wsrep_sync_wait; +@@global.wsrep_sync_wait +7 +SELECT @@global.wsrep_causal_reads; +@@global.wsrep_causal_reads +1 CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=InnoDB; SET GLOBAL wsrep_sync_wait = 1; SHOW TABLES LIKE '%t1'; diff --git a/mysql-test/suite/galera/r/mysql-wsrep#33.result b/mysql-test/suite/galera/r/mysql-wsrep#33.result index 62af519ad32..fc647a2000d 100644 --- a/mysql-test/suite/galera/r/mysql-wsrep#33.result +++ b/mysql-test/suite/galera/r/mysql-wsrep#33.result @@ -1,4 +1,5 @@ Setting SST method to mysqldump ... +CREATE USER 'sst'; GRANT ALL PRIVILEGES ON *.* TO 'sst'; SET GLOBAL wsrep_sst_auth = 'sst:'; SET GLOBAL wsrep_sst_method = 'mysqldump'; diff --git a/mysql-test/suite/galera/r/rename.result b/mysql-test/suite/galera/r/rename.result index f13d3f13b24..3c81e8b6320 100644 --- a/mysql-test/suite/galera/r/rename.result +++ b/mysql-test/suite/galera/r/rename.result @@ -10,6 +10,7 @@ SELECT * FROM t1; i 1 # Create a new user 'foo' with limited privileges +CREATE USER foo@localhost; GRANT SELECT on test.* TO foo@localhost; # Open connection to the 1st node using 'test_user1' user. SELECT * FROM t1; diff --git a/mysql-test/suite/galera/r/sql_log_bin.result b/mysql-test/suite/galera/r/sql_log_bin.result new file mode 100644 index 00000000000..237725ec9a7 --- /dev/null +++ b/mysql-test/suite/galera/r/sql_log_bin.result @@ -0,0 +1,52 @@ + +# On node_1 +USE test; +CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB; +INSERT INTO t1 VALUES (1); +# Disable binary logging for current session +SET SQL_LOG_BIN=OFF; +INSERT INTO t1 VALUES (2); +CREATE TABLE t2(c1 INT PRIMARY KEY) ENGINE=INNODB; +INSERT INTO t2 VALUES (1); +CREATE TABLE test.t3 AS SELECT * from t1; +# Enable binary logging for current session +SET SQL_LOG_BIN=ON; +INSERT INTO t2 VALUES (2); +CREATE TABLE t4 AS SELECT * from t2; +SELECT * FROM t1; +c1 +1 +2 +SELECT * FROM t2; +c1 +1 +2 +SELECT * FROM t3; +c1 +1 +2 +SELECT * FROM t4; +c1 +1 +2 + +# On node_2 +USE test; +SELECT * FROM t1; +c1 +1 +2 +SELECT * FROM t2; +c1 +1 +2 +SELECT * FROM t3; +c1 +1 +2 +SELECT * FROM t4; +c1 +1 +2 +DROP TABLE t1, t2, t3, t4; +# End of test diff --git a/mysql-test/suite/galera/suite.pm b/mysql-test/suite/galera/suite.pm index d6cd4273014..2da2b3ad503 100644 --- a/mysql-test/suite/galera/suite.pm +++ b/mysql-test/suite/galera/suite.pm @@ -60,7 +60,6 @@ push @::global_suppressions, qr(WSREP: .*Failed to open backend connection: -110 .*), qr(WSREP: .*Failed to open channel 'my_wsrep_cluster' at .*), qr(WSREP: gcs connect failed: Connection timed out), - qr|WSREP: wsrep::connect\(\) failed: 7|, qr|WSREP: wsrep::connect\(.*\) failed: 7|, qr(WSREP: SYNC message from member .* in non-primary configuration. Ignored.), qr(WSREP: Could not find peer:), diff --git a/mysql-test/suite/galera/t/create.test b/mysql-test/suite/galera/t/create.test index fb9b0935288..96a6640c21f 100644 --- a/mysql-test/suite/galera/t/create.test +++ b/mysql-test/suite/galera/t/create.test @@ -54,5 +54,36 @@ SHOW CREATE TABLE t2; # Cleanup DROP TABLE t1, t2; +--echo # +--echo # MDEV-9853: WSREP says it cannot get fake InnoDB transaction ID +--echo # followed by segmentation fault +--echo # +CREATE TABLE `t1`(`c1` INT) ENGINE=INNODB; + +SET autocommit=0; +CREATE TABLE `t2` (`c1` INT) ENGINE=INNODB SELECT * FROM t1; +COMMIT; +SET autocommit=1; + +# Cleanup +DROP TABLE t1, t2; + + +--echo # +--echo # MDEV-10235: Deadlock in CREATE TABLE ... AS SELECT .. if result set +--echo # is empty in Galera +--echo # +--connection node_1 +CREATE TABLE t1(c1 INT) ENGINE=INNODB; +INSERT INTO t1 VALUES(1); +CREATE TABLE t2 AS SELECT * FROM t1 WHERE c1=2; + +--connection node_2 +SELECT * FROM t1; +SELECT * FROM t2; +# Cleanup +DROP TABLE t1, t2; + +--source include/galera_end.inc --echo # End of tests diff --git a/mysql-test/suite/galera/t/enforce_storage_engine.test b/mysql-test/suite/galera/t/enforce_storage_engine.test new file mode 100644 index 00000000000..5f07dd53a3e --- /dev/null +++ b/mysql-test/suite/galera/t/enforce_storage_engine.test @@ -0,0 +1,33 @@ +--source include/galera_cluster.inc +--source include/have_innodb.inc + +# enforce_storage_engine should prevent the creation of tables with +# non-enforced storage engines on the master node and the command +# should also not replicate to other nodes. + +--echo # +--echo # MDEV-8831 : enforce_storage_engine doesn't block table creation on +--echo # other nodes (galera cluster) +--echo # + +--connection node_1 +SET @@enforce_storage_engine=INNODB; +CREATE TABLE t1(i INT) ENGINE=INNODB; +--error ER_UNKNOWN_STORAGE_ENGINE +CREATE TABLE t2(i INT) ENGINE=MYISAM; + +INSERT INTO t1 VALUES(1); + +--connection node_2 +SHOW TABLES; +SELECT COUNT(*)=1 FROM t1; + +CREATE TABLE t2(i INT) ENGINE=MYISAM; + +--connection node_1 +SHOW TABLES; + +# Cleanup +DROP TABLE t1, t2; + +--echo # End of tests diff --git a/mysql-test/suite/galera/t/galera_as_master.test b/mysql-test/suite/galera/t/galera_as_master.test index b8f989d497b..93f9224b258 100644 --- a/mysql-test/suite/galera/t/galera_as_master.test +++ b/mysql-test/suite/galera/t/galera_as_master.test @@ -17,22 +17,46 @@ START SLAVE; CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); ---connection node_2 +--echo # Disable binary logging for current session +SET SQL_LOG_BIN=OFF; +CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t2 VALUES(1); INSERT INTO t1 VALUES(2); +CREATE TABLE test.t3 AS SELECT * from t1; + +SET SQL_LOG_BIN=ON; +INSERT INTO t1 VALUES(3); +CREATE TABLE test.t4 AS SELECT * from t1; + +--connection node_2 +SELECT * FROM t1; +SELECT * FROM t2; +SELECT * FROM t3; +SELECT * FROM t4; --connection node_3 ---let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'; ---source include/wait_condition.inc +SHOW TABLES; --let $wait_condition = SELECT COUNT(*) = 2 FROM t1; --source include/wait_condition.inc +--let $wait_condition = SELECT COUNT(*) = 3 FROM t4; +--source include/wait_condition.inc + +SELECT * FROM t1; +SELECT * FROM t4; + +--echo # Cleanup --connection node_1 -DROP TABLE t1; +DROP TABLE t1, t4; +SET SQL_LOG_BIN=OFF; +DROP TABLE t2, t3; --connection node_3 --let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'; --source include/wait_condition.inc +--let $wait_condition = SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't4'; +--source include/wait_condition.inc STOP SLAVE; RESET SLAVE ALL; diff --git a/mysql-test/suite/galera/t/galera_as_master_large.cnf b/mysql-test/suite/galera/t/galera_as_master_large.cnf new file mode 100644 index 00000000000..bd8f3819b20 --- /dev/null +++ b/mysql-test/suite/galera/t/galera_as_master_large.cnf @@ -0,0 +1,4 @@ +!include ../galera_2nodes_as_master.cnf + +[mysqld.1] +binlog-cache-size=8192 diff --git a/mysql-test/suite/galera/t/galera_as_master_large.test b/mysql-test/suite/galera/t/galera_as_master_large.test new file mode 100644 index 00000000000..fa343cd9c93 --- /dev/null +++ b/mysql-test/suite/galera/t/galera_as_master_large.test @@ -0,0 +1,46 @@ +--echo # +--echo # MDEV-9044 : Getting binlog corruption on my Galera cluster (10.1.8) +--echo # making it impossible to async slave. +--echo # + +--source include/have_innodb.inc +--source include/galera_cluster.inc + +--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 +--disable_query_log +--eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='root', MASTER_PORT=$NODE_MYPORT_1; +--enable_query_log +START SLAVE; + +--connection node_1 + +SELECT @@GLOBAL.BINLOG_CACHE_SIZE; +CREATE TABLE t1 (c1 INTEGER PRIMARY KEY, c2 VARCHAR(12000)) ENGINE=INNODB; +CREATE TABLE t2 (c1 INTEGER PRIMARY KEY) ENGINE=INNODB; + +START TRANSACTION; +INSERT INTO t1 VALUES(1, REPEAT('-', 10000)); +COMMIT; +INSERT INTO t2 VALUES(1); +save_master_pos; + +--connection node_2 +SELECT c1, LENGTH(c2) FROM t1; +SELECT * FROM t2; + +--connection node_3 +sync_with_master; + +SELECT c1, LENGTH(c2) FROM t1; +SELECT * FROM t2; + +--echo # Cleanup +--connection node_1 +DROP TABLE t1, t2; +save_master_pos; + +--connection node_3 +sync_with_master; + +STOP SLAVE; +RESET SLAVE ALL; diff --git a/mysql-test/suite/galera/t/galera_defaults.test b/mysql-test/suite/galera/t/galera_defaults.test index 87eddedafe9..3b1cb7b8650 100644 --- a/mysql-test/suite/galera/t/galera_defaults.test +++ b/mysql-test/suite/galera/t/galera_defaults.test @@ -19,7 +19,7 @@ source ../wsrep/include/check_galera_version.inc; # Global Variables -SELECT COUNT(*) = 39 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%'; +SELECT COUNT(*) = 42 FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'wsrep_%'; SELECT VARIABLE_NAME, VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -32,7 +32,8 @@ AND VARIABLE_NAME NOT IN ( 'WSREP_PROVIDER', 'WSREP_DATA_HOME_DIR', 'WSREP_NODE_INCOMING_ADDRESS', - 'WSREP_START_POSITION' + 'WSREP_START_POSITION', + 'WSREP_PATCH_VERSION' ) ORDER BY VARIABLE_NAME; diff --git a/mysql-test/suite/galera/t/galera_flush.test b/mysql-test/suite/galera/t/galera_flush.test index 2a0fdc694fc..77e95f62fda 100644 --- a/mysql-test/suite/galera/t/galera_flush.test +++ b/mysql-test/suite/galera/t/galera_flush.test @@ -37,7 +37,7 @@ FLUSH HOSTS; --connection node_1 SET GLOBAL wsrep_replicate_myisam = TRUE; -INSERT INTO mysql.user VALUES('localhost','user1',PASSWORD('pass1'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','','N','N'); +INSERT INTO mysql.user VALUES('localhost','user1',PASSWORD('pass1'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'mysql_native_password','','N','N','',0); FLUSH PRIVILEGES; --connect node_2a, 127.0.0.1, user1, pass1, test, $NODE_MYPORT_2 --connection node_1 diff --git a/mysql-test/suite/galera/t/galera_forced_binlog_format.test b/mysql-test/suite/galera/t/galera_forced_binlog_format.test index d621403f231..982276cc317 100644 --- a/mysql-test/suite/galera/t/galera_forced_binlog_format.test +++ b/mysql-test/suite/galera/t/galera_forced_binlog_format.test @@ -20,7 +20,7 @@ INSERT INTO t1 VALUES (2); --replace_regex /xid=[0-9]+/xid=###/ /table_id: [0-9]+/table_id: ###/ --replace_column 2 <Pos> 5 <End_log_pos> -SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 248; +SHOW BINLOG EVENTS IN 'mysqld-bin.000001' FROM 249; DROP TABLE t1; diff --git a/mysql-test/suite/galera/t/galera_log_bin.test b/mysql-test/suite/galera/t/galera_log_bin.test index b0f215c85e5..d2d3987d711 100644 --- a/mysql-test/suite/galera/t/galera_log_bin.test +++ b/mysql-test/suite/galera/t/galera_log_bin.test @@ -22,15 +22,15 @@ SELECT COUNT(*) = 2 FROM t2; ALTER TABLE t1 ADD COLUMN f2 INTEGER; FLUSH LOGS; - +--replace_column 2 # 4 # 5 # --replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/ SHOW BINLOG EVENTS IN 'mysqld-bin.000002' LIMIT 4,18; --connection node_2 SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 't1'; - +--replace_column 2 # 4 # 5 # --replace_regex /table_id: [0-9]+/table_id: #/ /xid=[0-9]+/xid=#/ -SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,19; +SHOW BINLOG EVENTS IN 'mysqld-bin.000003' LIMIT 3,18; DROP TABLE t1; DROP TABLE t2; diff --git a/mysql-test/suite/galera/t/galera_many_tables_nopk.test b/mysql-test/suite/galera/t/galera_many_tables_nopk.test index 2496d145c93..98a65b7c660 100644 --- a/mysql-test/suite/galera/t/galera_many_tables_nopk.test +++ b/mysql-test/suite/galera/t/galera_many_tables_nopk.test @@ -2,17 +2,23 @@ --source include/galera_cluster.inc --source include/have_innodb.inc +if (!`SELECT @@open_files_limit >= 1024`){ + skip Need at least an open file limit of 1000; +} + # -# This test forces 1K tables without a PK to participate in a single transaction +# This test forces 900 tables without a PK to participate in a single +# transaction. The reason for 900 is that some linux system has by default +# a limit of 1024 open files / process # # -# First, create 1K tables +# First, create 900 tables # --connection node_1 ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -22,7 +28,7 @@ while ($count) --dec $count } ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -33,13 +39,13 @@ while ($count) } # -# Second, perform 1K updates +# Second, perform 900 updates # SET AUTOCOMMIT=OFF; START TRANSACTION; ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -57,7 +63,7 @@ COMMIT; --connection node_2 CREATE TABLE sum_table (f1 INTEGER); ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -67,7 +73,7 @@ while ($count) --dec $count } -SELECT SUM(f1) = 1000 FROM sum_table; +SELECT SUM(f1) = 900 FROM sum_table; # # Fourth, create a deadlock @@ -77,7 +83,7 @@ SELECT SUM(f1) = 1000 FROM sum_table; SET AUTOCOMMIT=OFF; START TRANSACTION; ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -90,7 +96,7 @@ while ($count) --connection node_2 SET AUTOCOMMIT=OFF; START TRANSACTION; -UPDATE t1000 SET f1 = 3; +UPDATE t900 SET f1 = 3; --connection node_1 COMMIT; diff --git a/mysql-test/suite/galera/t/galera_many_tables_pk.test b/mysql-test/suite/galera/t/galera_many_tables_pk.test index 886cb7c1a00..520459e3210 100644 --- a/mysql-test/suite/galera/t/galera_many_tables_pk.test +++ b/mysql-test/suite/galera/t/galera_many_tables_pk.test @@ -2,17 +2,23 @@ --source include/galera_cluster.inc --source include/have_innodb.inc +if (!`SELECT @@open_files_limit >= 1024`){ + skip Need at least an open file limit of 1024; +} + # -# This test forces 1K tables with a PK to participate in a single transaction +# This test forces 900 tables with a PK to participate in a single +# transaction. The reason for 900 is that some linux system has by default +# a limit of 1024 open files / process # # -# First, create 1K tables and make sure the DDLs are all propagated +# First, create 900 tables and make sure the DDLs are all propagated # --connection node_1 ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -23,7 +29,7 @@ while ($count) } --connection node_2 -SELECT COUNT(*) = 1000 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't%'; +SELECT COUNT(*) = 900 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME LIKE 't%'; # # Second, create a transaction that uses all those tables @@ -33,7 +39,7 @@ SELECT COUNT(*) = 1000 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'test SET AUTOCOMMIT=OFF; START TRANSACTION; ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -52,7 +58,7 @@ COMMIT; --connection node_2 CREATE TABLE sum_table (f1 INTEGER); ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -62,7 +68,7 @@ while ($count) --dec $count } -SELECT SUM(f1) = 1000 FROM sum_table; +SELECT SUM(f1) = 900 FROM sum_table; # # Fourth, create a deadlock @@ -72,7 +78,7 @@ SELECT SUM(f1) = 1000 FROM sum_table; SET AUTOCOMMIT=OFF; START TRANSACTION; ---let $count = 1000 +--let $count = 900 while ($count) { --disable_query_log @@ -85,7 +91,7 @@ while ($count) --connection node_2 SET AUTOCOMMIT=OFF; START TRANSACTION; -UPDATE t1000 SET f1 = 3; +UPDATE t900 SET f1 = 3; --connection node_1 COMMIT; diff --git a/mysql-test/suite/galera/t/galera_server.test b/mysql-test/suite/galera/t/galera_server.test new file mode 100644 index 00000000000..30b39028b96 --- /dev/null +++ b/mysql-test/suite/galera/t/galera_server.test @@ -0,0 +1,28 @@ +# Test for CREATE/ALTER/DROP SERVER in Galera cluster + +--source include/galera_cluster.inc + +--connection node_1 +--echo # On node_1 +CREATE SERVER s1 + FOREIGN DATA WRAPPER mysql + OPTIONS (HOST 'foo'); + +--connection node_2 +--echo # On node_2 +SELECT * FROM mysql.servers; +ALTER SERVER s1 + OPTIONS (HOST 'bar'); + +--connection node_1 +--echo # On node_1 +SELECT * FROM mysql.servers; +DROP SERVER s1; + +--connection node_2 +--echo # On node_2 +SELECT COUNT(*)=0 FROM mysql.servers; + +--source include/galera_end.inc +--echo # End of test + diff --git a/mysql-test/suite/galera/t/galera_sql_log_bin_zero.test b/mysql-test/suite/galera/t/galera_sql_log_bin_zero.test index b6965faa739..cd8d6ba6426 100644 --- a/mysql-test/suite/galera/t/galera_sql_log_bin_zero.test +++ b/mysql-test/suite/galera/t/galera_sql_log_bin_zero.test @@ -1,6 +1,7 @@ # -# Test SET SESSION sql_log_bin = 0 . We expect that unlogged updates will not be replicated -# to the slave and that there will be no assertions in the process. +# Test SET SESSION sql_log_bin = 0 . We expect that updates gets repliated to +# other nodes while they do not show up in the binary log files. +# (see galera.galera_as_master) # --source include/galera_cluster.inc @@ -18,8 +19,8 @@ INSERT INTO t1 VALUES (2); --connection node_2 -SELECT COUNT(*) = 1 FROM t1; -SELECT COUNT(*) = 0 FROM t1 WHERE f1 = 1; +SELECT COUNT(*) = 2 FROM t1; +SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1; --connection node_1 DROP TABLE t1; diff --git a/mysql-test/suite/galera/t/galera_suspend_slave.test b/mysql-test/suite/galera/t/galera_suspend_slave.test index 5c622085804..353a7c38a73 100644 --- a/mysql-test/suite/galera/t/galera_suspend_slave.test +++ b/mysql-test/suite/galera/t/galera_suspend_slave.test @@ -29,7 +29,7 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; exit(0); EOF ---error ER_UNKNOWN_COM_ERROR,ER_LOCK_WAIT_TIMEOUT,ER_LOCK_DEADLOCK +--error ER_UNKNOWN_COM_ERROR,ER_LOCK_WAIT_TIMEOUT,ER_LOCK_DEADLOCK,ER_ERROR_DURING_COMMIT INSERT INTO t1 VALUES (1); --echo Resuming node_2 ... diff --git a/mysql-test/suite/galera/t/galera_toi_ddl_locking.test b/mysql-test/suite/galera/t/galera_toi_ddl_locking.test index ebab030d9d6..12c83a1f87a 100644 --- a/mysql-test/suite/galera/t/galera_toi_ddl_locking.test +++ b/mysql-test/suite/galera/t/galera_toi_ddl_locking.test @@ -33,7 +33,7 @@ SELECT COUNT(*) = 0 FROM t1; SELECT COUNT(*) = 0 FROM t2; # Not allowed ---error ER_LOCK_DEADLOCK +--error ER_LOCK_DEADLOCK,ER_ERROR_DURING_COMMIT INSERT INTO t1 VALUES (1); SET AUTOCOMMIT=OFF; diff --git a/mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test b/mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test index f7967daebe7..3e8f3d18859 100644 --- a/mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test +++ b/mysql-test/suite/galera/t/galera_var_certify_nonPK_off.test @@ -16,7 +16,7 @@ CREATE TABLE t1 (f1 INTEGER) ENGINE=InnoDB /* Table has no primary key */; CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; # All DML without a PK is rejected with an error ---error ER_LOCK_DEADLOCK +--error ER_LOCK_DEADLOCK,ER_ERROR_DURING_COMMIT INSERT INTO t1 VALUES (1), (2); # DML with a PK is allowed to proceed diff --git a/mysql-test/suite/galera/t/galera_var_cluster_address.test b/mysql-test/suite/galera/t/galera_var_cluster_address.test index 17e77a9b5af..dfd84002dd6 100644 --- a/mysql-test/suite/galera/t/galera_var_cluster_address.test +++ b/mysql-test/suite/galera/t/galera_var_cluster_address.test @@ -5,6 +5,12 @@ --source include/galera_cluster.inc --source include/have_innodb.inc +# Save original auto_increment_offset values. +--connection node_1 +let $auto_increment_offset_node_1 = `SELECT @@global.auto_increment_offset`; +--connection node_2 +let $auto_increment_offset_node_2 = `SELECT @@global.auto_increment_offset`; + # # Set to invalid value # @@ -93,3 +99,12 @@ SET GLOBAL wsrep_cluster_address = @@wsrep_cluster_address; SELECT VARIABLE_VALUE = 'Primary' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_status'; SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'; +# Restore original auto_increment_offset values. +--disable_query_log +--connection node_1 +--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_1; +--connection node_2 +--eval SET @@global.auto_increment_offset = $auto_increment_offset_node_2; +--enable_query_log + + diff --git a/mysql-test/suite/galera/t/galera_var_gtid_domain_id.cnf b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.cnf new file mode 100644 index 00000000000..d3c49470f41 --- /dev/null +++ b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.cnf @@ -0,0 +1,16 @@ +!include ../galera_2nodes.cnf + +[mysqld] +log-bin +log-slave-updates + +[mysqld.1] +gtid_domain_id=1 +wsrep_gtid_mode=ON +wsrep_gtid_domain_id=9999 + +[mysqld.2] +gtid_domain_id=2 +wsrep_gtid_mode=ON +#wsrep_gitd_domain_id value will be inherited from donor node (mysqld.1) +#wsrep_gitd_domain_id=X diff --git a/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test new file mode 100644 index 00000000000..c4127b4f655 --- /dev/null +++ b/mysql-test/suite/galera/t/galera_var_gtid_domain_id.test @@ -0,0 +1,53 @@ +# Test for @@wsrep_gtid_mode and @@wsrep_gtid_domain_id variables +# +# When @@wsrep_gtid_mode=ON, all DDL/DML commands and transactions that +# are meant to be replicated over Galera cluster nodes are tagged with +# galera gtid_domain_id (@@wsrep_gtid_domain_id), while others are tagged +# with the local domain_id (@@gtid_domain_id). + +--source include/galera_cluster.inc +--source include/have_innodb.inc + +--echo # On node_1 +--connection node_1 +# print initial GTIDs +source include/print_gtid.inc; + +--echo # On node_2 +--connection node_2 +# print initial GTIDs +source include/print_gtid.inc; + +--echo # On node_1 +--connection node_1 +CREATE TABLE t1(i INT) ENGINE=INNODB; +CREATE TABLE t2(i INT) ENGINE=MEMORY; +INSERT INTO t1 VALUES(1); +SELECT * FROM t1; +SELECT * FROM t2; +source include/print_gtid.inc; + +--echo # On node_2 +--connection node_2 +SELECT * FROM t1; +source include/print_gtid.inc; + +--echo # On node_1 +--connection node_1 +INSERT INTO t2 VALUES(1); +SELECT * FROM t2; +source include/print_gtid.inc; + +--echo # On node_2 +--connection node_2 +SELECT * FROM t2; +source include/print_gtid.inc; + +--echo # On node_1 +--connection node_1 +# Cleanup +DROP TABLE t1, t2; + +--source include/galera_end.inc +--echo # End of test + diff --git a/mysql-test/suite/galera/t/galera_var_sync_wait.test b/mysql-test/suite/galera/t/galera_var_sync_wait.test index 935c271a4d6..288ad62226f 100644 --- a/mysql-test/suite/galera/t/galera_var_sync_wait.test +++ b/mysql-test/suite/galera/t/galera_var_sync_wait.test @@ -5,6 +5,13 @@ --source include/galera_cluster.inc --source include/have_innodb.inc +--echo # +--echo # MDEV-10161: wsrep_sync_wait not enabled when set to 1 in config file +--echo # +# galera_2nodes.cnf sets wsrep_sync_wait to 7 +SELECT @@global.wsrep_sync_wait; +SELECT @@global.wsrep_causal_reads; + --let $wsrep_sync_wait_orig = `SELECT @@wsrep_sync_wait` --connection node_1 diff --git a/mysql-test/suite/galera/t/mysql-wsrep#237.test b/mysql-test/suite/galera/t/mysql-wsrep#237.test index 4a539e1ba15..cba8dfeb275 100644 --- a/mysql-test/suite/galera/t/mysql-wsrep#237.test +++ b/mysql-test/suite/galera/t/mysql-wsrep#237.test @@ -30,7 +30,5 @@ SET DEBUG_SYNC= 'now SIGNAL continue'; # Cleanup DROP TABLE t; - --connection node_1a SET DEBUG_SYNC= 'RESET'; - diff --git a/mysql-test/suite/galera/t/rename.test b/mysql-test/suite/galera/t/rename.test index 27811678bf5..326d64d3b8a 100644 --- a/mysql-test/suite/galera/t/rename.test +++ b/mysql-test/suite/galera/t/rename.test @@ -16,6 +16,7 @@ INSERT INTO t1 VALUE(1); SELECT * FROM t1; --echo # Create a new user 'foo' with limited privileges +CREATE USER foo@localhost; GRANT SELECT on test.* TO foo@localhost; --echo # Open connection to the 1st node using 'test_user1' user. diff --git a/mysql-test/suite/galera/t/sql_log_bin.test b/mysql-test/suite/galera/t/sql_log_bin.test new file mode 100644 index 00000000000..615bc4c30af --- /dev/null +++ b/mysql-test/suite/galera/t/sql_log_bin.test @@ -0,0 +1,44 @@ +# Test to check the behavior of galera cluster with sql_log_bin=ON|OFF & binary +# logging is disabled. sql_bin_log should not affect galera replication. + +--source include/galera_cluster.inc +--source include/have_innodb.inc + +--echo +--echo # On node_1 +--connection node_1 + +USE test; +CREATE TABLE t1(c1 INT PRIMARY KEY) ENGINE=INNODB; +INSERT INTO t1 VALUES (1); + +--echo # Disable binary logging for current session +SET SQL_LOG_BIN=OFF; +INSERT INTO t1 VALUES (2); +CREATE TABLE t2(c1 INT PRIMARY KEY) ENGINE=INNODB; +INSERT INTO t2 VALUES (1); +CREATE TABLE test.t3 AS SELECT * from t1; + +--echo # Enable binary logging for current session +SET SQL_LOG_BIN=ON; +INSERT INTO t2 VALUES (2); +CREATE TABLE t4 AS SELECT * from t2; +SELECT * FROM t1; +SELECT * FROM t2; +SELECT * FROM t3; +SELECT * FROM t4; + +--echo +--echo # On node_2 +--connection node_2 +USE test; +SELECT * FROM t1; +SELECT * FROM t2; +SELECT * FROM t3; +SELECT * FROM t4; + +# Cleanup +DROP TABLE t1, t2, t3, t4; + +--source include/galera_end.inc +--echo # End of test |