mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 22:34:18 +01:00
12318ab2a3
Resetting the master before stopping the slave was generating the message "[ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'could not find next log', Error_code: 1236". In consequence, the test case was failing because the message had not been suppressed. To circumvent the failure, we rewrote the test stopping the slave before resetting the master. We prefer this alternative rather than suppressing the message.
300 lines
11 KiB
Text
300 lines
11 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
|
|
*** Preparing ***
|
|
include/stop_slave.inc
|
|
RESET SLAVE;
|
|
SET @restore_slave_net_timeout=@@global.slave_net_timeout;
|
|
RESET MASTER;
|
|
SET @restore_slave_net_timeout=@@global.slave_net_timeout;
|
|
SET @restore_event_scheduler=@@global.event_scheduler;
|
|
|
|
*** Default value ***
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root';
|
|
slave_net_timeout/slave_heartbeat_timeout=2.0000
|
|
RESET SLAVE;
|
|
|
|
*** Reset slave affect ***
|
|
SET @@global.slave_net_timeout=30;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
|
|
RESET SLAVE;
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 15.000
|
|
|
|
*** Default value if slave_net_timeout changed ***
|
|
SET @@global.slave_net_timeout=50;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root';
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 25.000
|
|
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
|
|
RESET SLAVE;
|
|
|
|
*** Warning if updated slave_net_timeout < slave_heartbeat_timeout ***
|
|
SET @@global.slave_net_timeout=FLOOR(SLAVE_HEARTBEAT_TIMEOUT)-1;
|
|
Warnings:
|
|
Warning 1624 The currect value for master_heartbeat_period exceeds the new value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
|
|
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
|
|
RESET SLAVE;
|
|
|
|
*** Warning if updated slave_heartbeat_timeout > slave_net_timeout ***
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=SLAVE_NET_TIMEOUT;
|
|
Warnings:
|
|
Warning 1624 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
|
|
RESET SLAVE;
|
|
|
|
*** CHANGE MASTER statement only updates slave_heartbeat_period ***
|
|
SET @@global.slave_net_timeout=20;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
|
|
SHOW VARIABLES LIKE 'slave_net_timeout';
|
|
Variable_name Value
|
|
slave_net_timeout 20
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 5.000
|
|
SET @@global.slave_net_timeout=2*@@global.slave_net_timeout;
|
|
SHOW VARIABLES LIKE 'slave_net_timeout';
|
|
Variable_name Value
|
|
slave_net_timeout 40
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 5.000
|
|
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
|
|
RESET SLAVE;
|
|
|
|
*** Update slave_net_timeout on master ***
|
|
SET @@global.slave_net_timeout=500;
|
|
SET @@global.slave_net_timeout=200;
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root';
|
|
include/start_slave.inc
|
|
SHOW VARIABLES LIKE 'slave_net_timeout';
|
|
Variable_name Value
|
|
slave_net_timeout 200
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 100.000
|
|
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
|
|
include/stop_slave.inc
|
|
RESET SLAVE;
|
|
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
|
|
|
|
*** Start/stop slave ***
|
|
SET @@global.slave_net_timeout=100;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=20;
|
|
include/start_slave.inc
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 20.000
|
|
include/stop_slave.inc
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 20.000
|
|
|
|
*** Reload slave ***
|
|
SET @@global.slave_net_timeout=50;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=30;
|
|
Reload slave
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 30.000
|
|
SET @restore_slave_net_timeout=@@global.slave_net_timeout;
|
|
|
|
*** Disable heartbeat ***
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0;
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 0.000
|
|
SHOW STATUS LIKE 'slave_received_heartbeats';
|
|
Variable_name Value
|
|
Slave_received_heartbeats 0
|
|
include/start_slave.inc
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 0.000
|
|
SHOW STATUS LIKE 'slave_received_heartbeats';
|
|
Variable_name Value
|
|
Slave_received_heartbeats 0
|
|
include/stop_slave.inc
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 0.000
|
|
SHOW STATUS LIKE 'slave_received_heartbeats';
|
|
Variable_name Value
|
|
Slave_received_heartbeats 0
|
|
RESET SLAVE;
|
|
SELECT SLAVE_HEARTBEAT_TIMEOUT = 0 AS Result;
|
|
Result
|
|
0
|
|
|
|
*** Min slave_heartbeat_timeout ***
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.001;
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 0.001
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.0009;
|
|
Warnings:
|
|
Warning 1624 The requested value for the heartbeat period is less than 1 msec. The period is reset to zero which means no heartbeats will be sending
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 0.000
|
|
RESET SLAVE;
|
|
|
|
*** Max slave_heartbeat_timeout ***
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294967;
|
|
Warnings:
|
|
Warning 1624 The requested value for the heartbeat period exceeds the value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
|
|
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
|
|
Variable_name Value
|
|
Slave_heartbeat_period 4294967.000
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294968;
|
|
ERROR HY000: The requested value for the heartbeat period is negative or exceeds the maximum 4294967 seconds
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=8589935;
|
|
ERROR HY000: The requested value for the heartbeat period is negative or exceeds the maximum 4294967 seconds
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=4294967296;
|
|
ERROR HY000: The requested value for the heartbeat period is negative or exceeds the maximum 4294967 seconds
|
|
RESET SLAVE;
|
|
|
|
*** Misc incorrect values ***
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='-1';
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''-1'' at line 1
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='123abc';
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''123abc'' at line 1
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD='';
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''' at line 1
|
|
RESET SLAVE;
|
|
|
|
*** Running slave ***
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
|
|
include/start_slave.inc
|
|
Heartbeat event received
|
|
|
|
*** Stopped slave ***
|
|
include/stop_slave.inc
|
|
Number of received heartbeat events while slave stopped: 0
|
|
|
|
*** Started slave ***
|
|
include/start_slave.inc
|
|
Heartbeat event received
|
|
|
|
*** Stopped IO thread ***
|
|
STOP SLAVE IO_THREAD;
|
|
Number of received heartbeat events while io thread stopped: 0
|
|
|
|
*** Started IO thread ***
|
|
START SLAVE IO_THREAD;
|
|
Heartbeat event received
|
|
|
|
*** Stopped SQL thread ***
|
|
STOP SLAVE SQL_THREAD;
|
|
Heartbeat events are received while sql thread stopped (1 means 'yes'): 1
|
|
|
|
*** Started SQL thread ***
|
|
START SLAVE SQL_THREAD;
|
|
Heartbeat event received
|
|
|
|
*** Stopped SQL thread by error ***
|
|
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10), c LONGTEXT);
|
|
INSERT INTO t1 VALUES (1, 'on slave', NULL);
|
|
INSERT INTO t1 VALUES (1, 'on master', NULL);
|
|
Heartbeat events are received while sql thread stopped (1 means 'yes'): 1
|
|
include/stop_slave.inc
|
|
DROP TABLE t1;
|
|
|
|
*** Master send to slave ***
|
|
CREATE EVENT e1
|
|
ON SCHEDULE EVERY 1 SECOND
|
|
DO
|
|
BEGIN
|
|
UPDATE test.t1 SET a = a + 1 WHERE a < 10;
|
|
END|
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=5;
|
|
include/start_slave.inc
|
|
SET @@global.event_scheduler=1;
|
|
Number of received heartbeat events: 0
|
|
DELETE FROM t1;
|
|
DROP EVENT e1;
|
|
|
|
*** Flush logs on slave ***
|
|
STOP SLAVE;
|
|
RESET SLAVE;
|
|
DROP TABLE t1;
|
|
DROP TABLE t1;
|
|
RESET MASTER;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.5;
|
|
include/start_slave.inc
|
|
Heartbeat events are received while rotation of relay logs (1 means 'yes'): 1
|
|
|
|
*** Compressed protocol ***
|
|
SET @@global.slave_compressed_protocol=1;
|
|
include/stop_slave.inc
|
|
RESET SLAVE;
|
|
SET @@global.slave_compressed_protocol=1;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
|
|
include/start_slave.inc
|
|
Heartbeat event received
|
|
SET @@global.slave_compressed_protocol=0;
|
|
SET @@global.slave_compressed_protocol=0;
|
|
|
|
*** Reset master ***
|
|
STOP SLAVE;
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
|
|
include/start_slave.inc
|
|
RESET MASTER;
|
|
Heartbeat events are received after reset of master (1 means 'yes'): 1
|
|
|
|
*** Reload master ***
|
|
STOP SLAVE;
|
|
RESET SLAVE;
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=0.1;
|
|
include/start_slave.inc
|
|
Heartbeat event received
|
|
Reload master
|
|
Heartbeat event received
|
|
|
|
*** Circular replication ***
|
|
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
include/stop_slave.inc
|
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=SLAVE_PORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=1, MASTER_LOG_FILE='SLAVE_BINLOG';
|
|
include/start_slave.inc
|
|
CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(10));
|
|
INSERT INTO t1 VALUES(1, 'on master');
|
|
include/start_slave.inc
|
|
INSERT INTO t1 VALUES(2, 'on slave');
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a b
|
|
1 on master
|
|
2 on slave
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a b
|
|
1 on master
|
|
2 on slave
|
|
Heartbeat event received on master
|
|
Heartbeat event received on slave
|
|
Slave has received more events than master (1 means 'yes'): 1
|
|
|
|
*** Clean up ***
|
|
include/stop_slave.inc
|
|
DROP TABLE t1;
|
|
include/stop_slave.inc
|
|
SET @@global.slave_net_timeout=@restore_slave_net_timeout;
|
|
|
|
End of 6.0 test
|