From 9bf5274929998c2fa22fb890496e9f6e433adfdd Mon Sep 17 00:00:00 2001 From: asklavou Date: Mon, 12 Sep 2022 11:53:21 -0400 Subject: [PATCH 1/3] MDEV-29517: rpl.rpl_change_master_demote sporadically fails in BB Problem: ======= Test Case 4 sporadically failed upon waiting for the slave to start during master demotion to slave, due to a GTID event not existing in the new master's binlog. If by chance the original slave (new master) did not yet receive all the binlog events, then this failure could occur. Solution: ======== Sync slave with master GTID before master demotion. Reviewed By: ============ Brandon Nesterenko --- mysql-test/suite/rpl/r/rpl_change_master_demote.result | 3 +++ mysql-test/suite/rpl/t/rpl_change_master_demote.test | 3 +++ 2 files changed, 6 insertions(+) diff --git a/mysql-test/suite/rpl/r/rpl_change_master_demote.result b/mysql-test/suite/rpl/r/rpl_change_master_demote.result index a5e801eeac4..38cff83829e 100644 --- a/mysql-test/suite/rpl/r/rpl_change_master_demote.result +++ b/mysql-test/suite/rpl/r/rpl_change_master_demote.result @@ -193,6 +193,9 @@ INSERT INTO t1 VALUES (3); # Update to account for statements to verify replication in include file CHANGE MASTER TO master_host='127.0.0.1', master_port=SLAVE_PORT, master_user='root', master_use_gtid=slave_pos, master_demote_to_slave=1; RESET SLAVE ALL; +include/save_master_gtid.inc +connection slave; +include/sync_with_master_gtid.inc include/rpl_change_master_demote.inc ############################################## # Connection semantics change: diff --git a/mysql-test/suite/rpl/t/rpl_change_master_demote.test b/mysql-test/suite/rpl/t/rpl_change_master_demote.test index b428ea2a0c9..15b55014975 100644 --- a/mysql-test/suite/rpl/t/rpl_change_master_demote.test +++ b/mysql-test/suite/rpl/t/rpl_change_master_demote.test @@ -143,6 +143,9 @@ INSERT INTO t1 VALUES (3); --eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$SLAVE_MYPORT, master_user='root', master_use_gtid=slave_pos, master_demote_to_slave=1 RESET SLAVE ALL; +--source include/save_master_gtid.inc +--connection slave +--source include/sync_with_master_gtid.inc --source include/rpl_change_master_demote.inc From 530d19a320688204e5d81c5da04a1f94ff4a8acb Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 29 Sep 2022 22:38:14 +0200 Subject: [PATCH 2/3] after merge update *.result --- .../mysql-test/vault/r/hashicorp_encode.result | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin/hashicorp_key_management/mysql-test/vault/r/hashicorp_encode.result b/plugin/hashicorp_key_management/mysql-test/vault/r/hashicorp_encode.result index c14e7cb7877..04ac22b9626 100644 --- a/plugin/hashicorp_key_management/mysql-test/vault/r/hashicorp_encode.result +++ b/plugin/hashicorp_key_management/mysql-test/vault/r/hashicorp_encode.result @@ -15,7 +15,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, `b` char(200) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `encrypted`=yes `encryption_key_id`=1 insert t1 values (12345, repeat('1234567890', 20)); alter table t1 encryption_key_id=2; show create table t1; @@ -23,7 +23,7 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, `b` char(200) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=2 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `encrypted`=yes `encryption_key_id`=2 alter table t1 encryption_key_id=33; ERROR HY000: Table storage engine 'InnoDB' does not support the create option 'ENCRYPTION_KEY_ID' show create table t1; @@ -31,19 +31,19 @@ Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, `b` char(200) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=2 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `encrypted`=yes `encryption_key_id`=2 alter table t1 encryption_key_id=3; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, `b` char(200) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=3 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `encrypted`=yes `encryption_key_id`=3 alter table t1 encryption_key_id=4; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, `b` char(200) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 `encrypted`=yes `encryption_key_id`=4 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci `encrypted`=yes `encryption_key_id`=4 drop table t1; From 1ac8149b83f002cd4754e1eca225560bc02b22e4 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Fri, 23 Sep 2022 14:37:58 +0200 Subject: [PATCH 3/3] MDEV-29608 Default SSL makes mysqlslap much slower, tests fail with timeout mysqlslap has an unusual semantics of the --iterations option, so that $ mysqlslap --concurrency=16 --iterations=1000 performs 16,000 connections. Because of that it gets many times slower with --ssl Let's disable ssl for mysqlslap in mysql-test --- mysql-test/include/default_client.cnf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mysql-test/include/default_client.cnf b/mysql-test/include/default_client.cnf index 1dda4b5b139..fc2fcf19e71 100644 --- a/mysql-test/include/default_client.cnf +++ b/mysql-test/include/default_client.cnf @@ -18,6 +18,9 @@ default-character-set=latin1 [mysql_upgrade] default-character-set=latin1 +[mysqlslap] +loose-skip-ssl + [mysqltest] loose-ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem loose-ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/client-cert.pem