mirror of
https://github.com/MariaDB/server.git
synced 2025-12-10 19:44:09 +03:00
BUG#12535301- SYS_VARS.RPL_INIT_SLAVE_FUNC MISMATCHES IN DAILY-5.5 Problem: sys_vars.rpl_init_slave_func test was not recorded after the last edit. It was disabled on 5.1 after seeing failures due to the above reason. No old failures as this suite never ran with pb2 on 5.1 Fix: Added assert condition after wait for checks. Recorded test and enabled it.
106 lines
4.7 KiB
Plaintext
106 lines
4.7 KiB
Plaintext
###############################################################################
|
|
# #
|
|
# Variable Name: init_slave #
|
|
# Scope: GLOBAL #
|
|
# Access Type: Dynamic #
|
|
# Data Type: string #
|
|
# Default Value: #
|
|
# Range: #
|
|
# #
|
|
# #
|
|
# Creation Date: 2008-03-08 #
|
|
# Author: Rizwan #
|
|
# Modified: HHunger 2008-09-29 Fixed the bug by inserting the usual wait and #
|
|
# SQL-Satements to control master and slave, #
|
|
# deleted the sleep and made improvements like: #
|
|
# - Replaced the opt file by dynamic variables, #
|
|
# - Made the tests independant of the initial #
|
|
# values of the global variables, #
|
|
# - Reduced the test to the needed test case to #
|
|
# save run time, #
|
|
# - Beautification. #
|
|
# #
|
|
# 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 #
|
|
# #
|
|
###############################################################################
|
|
|
|
source include/master-slave.inc;
|
|
--echo connection slave
|
|
connection slave;
|
|
#
|
|
# save the current values
|
|
|
|
SET @start_max_connections= @@global.max_connections;
|
|
SET @start_init_slave= @@global.init_slave;
|
|
|
|
# setting of a global value with an effect on the next start of the slave server
|
|
# check that @@global.init_slave could be set
|
|
let $my_init_slave=
|
|
'SET @@global.max_connections = @@global.max_connections + 1';
|
|
eval SET @@global.init_slave = $my_init_slave;
|
|
|
|
# show the data type of the variable
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
CREATE TEMPORARY TABLE t1 AS SELECT @@global.init_slave AS my_column;
|
|
--enable_warnings
|
|
DESCRIBE t1;
|
|
DROP TABLE t1;
|
|
#
|
|
# check that the new setting of @@global.init_slave becomes immediately visible
|
|
eval SELECT @@global.init_slave = $my_init_slave;
|
|
--echo Expect 1
|
|
# wait for the slave threads have set the global variable.
|
|
let $wait_timeout= 240;
|
|
let $wait_condition= SELECT @@global.max_connections = @start_max_connections;
|
|
--source include/wait_condition_sp.inc
|
|
# check that the action in init_slave does not happen immediately
|
|
--let $assert_text= @@global.max_connections = @start_max_connections
|
|
--let $assert_cond= @@global.max_connections = @start_max_connections
|
|
--source include/assert.inc
|
|
#
|
|
# 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;
|
|
#
|
|
# wait for the slave threads have set the global variable.
|
|
let $wait_timeout= 90;
|
|
let $wait_condition= SELECT @@global.max_connections = @start_max_connections + 1;
|
|
--source include/wait_condition_sp.inc
|
|
# check that the action in init_slave was executed and had the intended effect
|
|
--let $assert_text= @@global.max_connections = @start_max_connections + 1
|
|
--let $assert_cond= @@global.max_connections = @start_max_connections + 1
|
|
--source include/assert.inc
|
|
#
|
|
# Setting a variable(which is local to a session) and must not be visible
|
|
SET @@global.init_slave = "SET @a=5";
|
|
#
|
|
STOP SLAVE;
|
|
--wait_for_slave_to_stop
|
|
RESET MASTER;
|
|
RESET SLAVE;
|
|
START SLAVE;
|
|
source include/wait_for_slave_to_start.inc;
|
|
#
|
|
SHOW VARIABLES LIKE 'init_slave';
|
|
# expect NULL
|
|
SELECT @a;
|
|
--echo Expect NULL
|
|
#
|
|
# Clean up
|
|
SET @@global.max_connections= @start_max_connections;
|
|
SET @@global.init_slave= @start_init_slave;
|
|
##################################################
|
|
# End of functionality Testing for init_slave #
|
|
##################################################
|
|
|
|
--source include/rpl_end.inc
|