Hello, Horst.
I have a note of a general character. As I see there were two patches
and the 2nd needs the first. But it'd be very helpful for reviewing
if the next time a patch you commit would include all the changes
since the beginning of the work.
From: Horst Hunger <horst@stripped>
Date: September 29 2008 5:43pm
Subject: bzr commit into mysql-5.1 branch (horst:2668) Bug#37763
List-Archive: http://lists.mysql.com/commits/54668
X-Bug: 37763
Message-Id: <200809291543.m8TFhUpN031466@stripped>
#At file:///work/bzr/mysql-5.1-rpl/
2668 Horst Hunger 2008-09-29
Fix for bug#37763: rpl_init_slave_func randomly produces warnings.
The sleep has been replaced
ok
and other modifications have been done.
Could you please make it more verbose and summorize in few words your
changes, at least the major ones?
Another and more important question is how these modifications address
issues in the description of the bug?
I am wondering because it's not clear if the changes are going to
eliminate the reported problem.
So please let us first discuss this.
The changes itself look okay and I agree with Matthias' comments.
regards,
Andrei
removed:
mysql-test/t/rpl_init_slave_func-slave.opt
modified:
mysql-test/r/rpl_init_slave_func.result
mysql-test/t/disabled.def
mysql-test/t/rpl_init_slave_func.test
=== modified file 'mysql-test/r/rpl_init_slave_func.result'
--- a/mysql-test/r/rpl_init_slave_func.result 2008-04-10 13:14:28 +0000
+++ b/mysql-test/r/rpl_init_slave_func.result 2008-09-29 15:43:24 +0000
@@ -4,44 +4,51 @@ reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
-'#--------------------FN_DYNVARS_037_01-------------------------#'
-SET @@global.init_slave = "SET @a = 10";
-'connect (con1,localhost,root,,)'
-'connection con1'
+connection slave
+SET @start_max_connections= @@global.max_connections;
+SET @start_init_slave= @@global.init_slave;
+SET @@global.init_slave = "SET @@global.max_connections = 500";
+connection master
SELECT @@global.init_slave;
@@global.init_slave
-SET @a = 10
-'connection master'
-'#--------------------FN_DYNVARS_037_02-------------------------#'
-'check if value in slave opt file is executed'
-'connection slave'
-show variables like 'init_slave';
-Variable_name Value
-init_slave set global max_connections=500
-show variables like 'max_connections';
-Variable_name Value
-max_connections 500
-reset master;
-'check if value in slave opt file doesnt apply to master'
-'connection master'
-show variables like 'init_slave';
-Variable_name Value
-init_slave SET @a = 10
-show variables like 'max_connections';
-Variable_name Value
-max_connections 151
-'connection slave'
-'try creating a temporary variable in init_slave'
+
+SELECT @@global.max_connections;
+@@global.max_connections
+151
+connection slave
+SELECT @@global.init_slave;
+@@global.init_slave
+SET @@global.max_connections = 500
+SELECT @@global.max_connections;
+@@global.max_connections
+151
+STOP SLAVE;
+RESET MASTER;
+RESET SLAVE;
+START SLAVE;
+SELECT @@global.init_slave;
+@@global.init_slave
+SET @@global.max_connections = 500
+SELECT @@global.max_connections;
+@@global.max_connections
+500
+connection master
+SELECT @@global.init_slave;
+@@global.init_slave
+
+SELECT @@global.max_connections;
+@@global.max_connections
+151
+connection slave
SET @@global.init_slave = "SET @a=5";
-stop slave;
-reset slave;
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
-start slave;
+STOP SLAVE;
+RESET SLAVE;
+START SLAVE;
SHOW VARIABLES LIKE 'init_slave';
Variable_name Value
init_slave SET @a=5
SELECT @a;
@a
NULL
-'Bug#35365 SET statement in init_slave not execute if slave is restarted'
-set global max_connections= default;
+SET @@global.max_connections= @start_max_connections;
+SET @@global.init_slave= @start_init_slave;
=== modified file 'mysql-test/t/disabled.def'
--- a/mysql-test/t/disabled.def 2008-09-10 10:50:39 +0000
+++ b/mysql-test/t/disabled.def 2008-09-29 15:43:24 +0000
@@ -18,7 +18,7 @@ delayed_insert_limit_func :
event_scheduler_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
interactive_timeout_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
query_cache_wlock_invalidate_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
-rpl_init_slave_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
+#rpl_init_slave_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
rpl_max_binlog_size_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
slow_query_log_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
sql_low_priority_updates_func : BUG#37962 2008-07-08 sven *_func tests
containing sleeps/race conditions
=== removed file 'mysql-test/t/rpl_init_slave_func-slave.opt'
--- a/mysql-test/t/rpl_init_slave_func-slave.opt 2008-04-10 13:14:28 +0000
+++ b/mysql-test/t/rpl_init_slave_func-slave.opt 1970-01-01 00:00:00 +0000
@@ -1 +0,0 @@
---init-slave="set global max_connections=500"
=== modified file 'mysql-test/t/rpl_init_slave_func.test'
--- a/mysql-test/t/rpl_init_slave_func.test 2008-07-10 16:09:39 +0000
+++ b/mysql-test/t/rpl_init_slave_func.test 2008-09-29 15:43:24 +0000
@@ -10,85 +10,72 @@
# #
# Creation Date: 2008-03-08 #
# Author: Rizwan #
+# Modofied: HHunger 2008-09-29 replaced the sleep and improvements. #
# #
# Description: Test Cases of Dynamic System Variable init_slave #
# that checks the behavior of this variable #
# #
-# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
-# server-system-variables.html #
+# Reference: #
+# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
# #
###############################################################################
source include/master-slave.inc;
+--echo connection slave
+connection slave;
+SET @start_max_connections= @@global.max_connections;
+SET @start_init_slave= @@global.init_slave;
---echo '#--------------------FN_DYNVARS_037_01-------------------------#'
-##################################################################
-# Check if setting init_slave is changed in every new connection #
-##################################################################
-
-SET @@global.init_slave = "SET @a = 10";
-
---echo 'connect (con1,localhost,root,,)'
-connect (con1,localhost,root,,);
---echo 'connection con1'
-connection con1;
-SELECT @@global.init_slave;
-disconnect con1;
---echo 'connection master'
+# setting of a global value with an effect on the nest slave start
+SET @@global.init_slave = "SET @@global.max_connections = 500";
+
+# changes not yet expected
+--echo connection master
connection master;
+SELECT @@global.init_slave;
+SELECT @@global.max_connections;
---echo '#--------------------FN_DYNVARS_037_02-------------------------#'
-####################################################
-# Begin the functionality Testing of init_slave #
-####################################################
-
-#====================================================
---echo 'check if value in slave opt file is executed'
-#====================================================
-save_master_pos;
---echo 'connection slave'
+--echo connection slave
connection slave;
-sleep 1;
-show variables like 'init_slave';
-show variables like 'max_connections';
-sync_with_master;
-reset master;
-
-#===============================================================
---echo 'check if value in slave opt file doesnt apply to master'
-#===============================================================
+SELECT @@global.init_slave;
+SELECT @@global.max_connections;
+
+# reset of the server
+STOP SLAVE;
+--wait_for_slave_to_stop
+RESET MASTER;
+RESET SLAVE;
+START SLAVE;
+source include/wait_for_slave_to_start.inc;
---echo 'connection master'
+# changed values now visible
+SELECT @@global.init_slave;
+SELECT @@global.max_connections;
+
+--echo connection master
connection master;
-show variables like 'init_slave';
-show variables like 'max_connections';
-save_master_pos;
---echo 'connection slave'
-connection slave;
-sync_with_master;
+SELECT @@global.init_slave;
+SELECT @@global.max_connections;
-#=======================================================
---echo 'try creating a temporary variable in init_slave'
-#=======================================================
+--echo connection slave
+connection slave;
+# Setting a variable(is local to a session
SET @@global.init_slave = "SET @a=5";
-source include/stop_slave.inc;
-reset slave;
-# Clean up old test tables
---disable_warnings
-drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
---enable_warnings
-start slave;
+STOP SLAVE;
+--wait_for_slave_to_stop
+RESET SLAVE;
+START SLAVE;
+source include/wait_for_slave_to_start.inc;
SHOW VARIABLES LIKE 'init_slave';
+# expect NULL
SELECT @a;
---echo 'Bug#35365 SET statement in init_slave not execute if slave is restarted'
-
-# Restore value
-set global max_connections= default;
-
+# Clean up
+SET @@global.max_connections= @start_max_connections;
+SET @@global.init_slave= @start_init_slave;
##################################################
# End of functionality Testing for init_slave #
##################################################
| Thread |
|---|
| • Re: BUG#37763 | Andrei Elkin | 8 Oct |