From e77957eecb5c24d60b2633e6624cd894016f11fc Mon Sep 17 00:00:00 2001 From: Sven Sandberg Date: Thu, 17 Jul 2008 18:26:59 +0200 Subject: [PATCH] BUG#38170: rpl_variables failed on pushbuild: could not sync with master Problem: the test set @@global.init_slave to garbage at a time which was not guaranteed to be after the time when the slave's SQL thread used it. That would cause the slave's SQL thread to stop in rare cases. Fix: The test does not care about the value of @@global.init_slave, except that it should be different on master and slave. Hence, we set @@global.init_slave to something that is valid SQL. --- mysql-test/suite/rpl/r/rpl_variables.result | 26 ++++++++++----------- mysql-test/suite/rpl/t/rpl_variables.test | 22 ++++++++--------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/mysql-test/suite/rpl/r/rpl_variables.result b/mysql-test/suite/rpl/r/rpl_variables.result index 73354666b7a..902340f0219 100644 --- a/mysql-test/suite/rpl/r/rpl_variables.result +++ b/mysql-test/suite/rpl/r/rpl_variables.result @@ -45,7 +45,7 @@ RESET SLAVE; RESET MASTER; START SLAVE; [on slave] -SET @@global.init_slave = 'ant'; +SET @@global.init_slave = 'SELECT 1'; [on master] CREATE TABLE tstmt (id INT AUTO_INCREMENT PRIMARY KEY, truth BOOLEAN, @@ -66,9 +66,9 @@ SET @@global.sync_binlog = 2000000; INSERT INTO tstmt(num) VALUES (@@global.sync_binlog); SET @@global.sync_binlog = 3000000; INSERT INTO tstmt(num) VALUES (@@global.sync_binlog); -SET @@global.init_slave = 'bison'; +SET @@global.init_slave = 'SELECT 2'; INSERT INTO tstmt(text) VALUES (@@global.init_slave); -SET @@global.init_slave = 'cat'; +SET @@global.init_slave = 'SELECT 3'; INSERT INTO tstmt(text) VALUES (@@global.init_slave); SET @@global.slave_exec_mode = 'IDEMPOTENT'; INSERT INTO tstmt(text) VALUES (@@global.slave_exec_mode); @@ -140,9 +140,9 @@ INSERT INTO tproc(num) VALUES (@@global.sync_binlog); SET @@global.sync_binlog = 3000000; INSERT INTO tproc(num) VALUES (@@global.sync_binlog); # string -SET @@global.init_slave = 'bison'; +SET @@global.init_slave = 'SELECT 2'; INSERT INTO tproc(text) VALUES (@@global.init_slave); -SET @@global.init_slave = 'cat'; +SET @@global.init_slave = 'SELECT 3'; INSERT INTO tproc(text) VALUES (@@global.init_slave); # enumeration SET @@global.slave_exec_mode = 'IDEMPOTENT'; @@ -226,9 +226,9 @@ INSERT INTO tfunc(num) VALUES (@@global.sync_binlog); SET @@global.sync_binlog = 3000000; INSERT INTO tfunc(num) VALUES (@@global.sync_binlog); # string -SET @@global.init_slave = 'bison'; +SET @@global.init_slave = 'SELECT 2'; INSERT INTO tfunc(text) VALUES (@@global.init_slave); -SET @@global.init_slave = 'cat'; +SET @@global.init_slave = 'SELECT 3'; INSERT INTO tfunc(text) VALUES (@@global.init_slave); # enumeration SET @@global.slave_exec_mode = 'IDEMPOTENT'; @@ -316,9 +316,9 @@ INSERT INTO ttrig(num) VALUES (@@global.sync_binlog); SET @@global.sync_binlog = 3000000; INSERT INTO ttrig(num) VALUES (@@global.sync_binlog); # string -SET @@global.init_slave = 'bison'; +SET @@global.init_slave = 'SELECT 2'; INSERT INTO ttrig(text) VALUES (@@global.init_slave); -SET @@global.init_slave = 'cat'; +SET @@global.init_slave = 'SELECT 3'; INSERT INTO ttrig(text) VALUES (@@global.init_slave); # enumeration SET @@global.slave_exec_mode = 'IDEMPOTENT'; @@ -395,9 +395,9 @@ PREPARE p5 FROM 'SET @@global.sync_binlog = 2000000'; PREPARE p6 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)'; PREPARE p7 FROM 'SET @@global.sync_binlog = 3000000'; PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)'; -PREPARE p9 FROM 'SET @@global.init_slave = \'bison\''; +PREPARE p9 FROM 'SET @@global.init_slave = \'SELECT 2\''; PREPARE p10 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)'; -PREPARE p11 FROM 'SET @@global.init_slave = \'cat\''; +PREPARE p11 FROM 'SET @@global.init_slave = \'SELECT 3\''; PREPARE p12 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)'; PREPARE p13 FROM 'SET @@global.slave_exec_mode = \'IDEMPOTENT\''; PREPARE p14 FROM 'INSERT INTO tprep(text) VALUES (@@global.slave_exec_mode)'; @@ -522,8 +522,8 @@ id truth num text 2 0 NULL NULL 3 NULL 2000000 NULL 4 NULL 3000000 NULL -5 NULL NULL bison -6 NULL NULL cat +5 NULL NULL SELECT 2 +6 NULL NULL SELECT 3 7 NULL NULL IDEMPOTENT 8 NULL NULL STRICT 9 1 NULL NULL diff --git a/mysql-test/suite/rpl/t/rpl_variables.test b/mysql-test/suite/rpl/t/rpl_variables.test index 3669e14c5df..6c3b3ab6d8a 100644 --- a/mysql-test/suite/rpl/t/rpl_variables.test +++ b/mysql-test/suite/rpl/t/rpl_variables.test @@ -117,7 +117,7 @@ source include/reset_master_and_slave.inc; # above, but can't because it affects how the slave works. --echo [on slave] connection slave; -SET @@global.init_slave = 'ant'; +SET @@global.init_slave = 'SELECT 1'; --echo [on master] @@ -154,9 +154,9 @@ SET @@global.sync_binlog = 3000000; INSERT INTO tstmt(num) VALUES (@@global.sync_binlog); # string -SET @@global.init_slave = 'bison'; +SET @@global.init_slave = 'SELECT 2'; INSERT INTO tstmt(text) VALUES (@@global.init_slave); -SET @@global.init_slave = 'cat'; +SET @@global.init_slave = 'SELECT 3'; INSERT INTO tstmt(text) VALUES (@@global.init_slave); # enumeration @@ -258,9 +258,9 @@ BEGIN INSERT INTO tproc(num) VALUES (@@global.sync_binlog); # string - SET @@global.init_slave = 'bison'; + SET @@global.init_slave = 'SELECT 2'; INSERT INTO tproc(text) VALUES (@@global.init_slave); - SET @@global.init_slave = 'cat'; + SET @@global.init_slave = 'SELECT 3'; INSERT INTO tproc(text) VALUES (@@global.init_slave); # enumeration @@ -367,9 +367,9 @@ BEGIN INSERT INTO tfunc(num) VALUES (@@global.sync_binlog); # string - SET @@global.init_slave = 'bison'; + SET @@global.init_slave = 'SELECT 2'; INSERT INTO tfunc(text) VALUES (@@global.init_slave); - SET @@global.init_slave = 'cat'; + SET @@global.init_slave = 'SELECT 3'; INSERT INTO tfunc(text) VALUES (@@global.init_slave); # enumeration @@ -478,9 +478,9 @@ BEGIN INSERT INTO ttrig(num) VALUES (@@global.sync_binlog); # string - SET @@global.init_slave = 'bison'; + SET @@global.init_slave = 'SELECT 2'; INSERT INTO ttrig(text) VALUES (@@global.init_slave); - SET @@global.init_slave = 'cat'; + SET @@global.init_slave = 'SELECT 3'; INSERT INTO ttrig(text) VALUES (@@global.init_slave); # enumeration @@ -581,9 +581,9 @@ PREPARE p7 FROM 'SET @@global.sync_binlog = 3000000'; PREPARE p8 FROM 'INSERT INTO tprep(num) VALUES (@@global.sync_binlog)'; # string -PREPARE p9 FROM 'SET @@global.init_slave = \'bison\''; +PREPARE p9 FROM 'SET @@global.init_slave = \'SELECT 2\''; PREPARE p10 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)'; -PREPARE p11 FROM 'SET @@global.init_slave = \'cat\''; +PREPARE p11 FROM 'SET @@global.init_slave = \'SELECT 3\''; PREPARE p12 FROM 'INSERT INTO tprep(text) VALUES (@@global.init_slave)'; # enumeration