Loading mysql-test/r/rpl_critical_errors.result.txt 0 → 100644 +56 −0 Original line number Diff line number Diff line 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; CREATE TABLE t1 (data LONGBLOB) ENGINE=MYISAM; CREATE TABLE t2 (data LONGBLOB) ENGINE=MYISAM; INSERT INTO t1 (data) VALUES (repeat('a',1024*1024)); INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t2 SELECT * FROM t1; KILL QUERY 2; SELECT COUNT(*) FROM t2; COUNT(*) 0 SHOW SLAVE STATUS; Slave_IO_State # Master_Host 127.0.0.1 Master_User root Master_Port MASTER_PORT Connect_Retry 1 Master_Log_File master-bin.000001 Read_Master_Log_Pos # Relay_Log_File # Relay_Log_Pos # Relay_Master_Log_File master-bin.000001 Slave_IO_Running Yes Slave_SQL_Running No Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno 1317 Last_Error # Skip_Counter 0 Exec_Master_Log_Pos # Relay_Log_Space # Until_Condition None Until_Log_File Until_Log_Pos 0 Master_SSL_Allowed No Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master # mysql-test/t/rpl_critical_errors.test 0 → 100644 +66 −0 Original line number Diff line number Diff line # Test for BUG#26551 # # This test is unfortunately very fragile and very dependent on the # load of the computer. The test is therefore disabled normally. It is # entered here to demonstrate how to check that the bug is actually # solved. --echo Turn on parsing to run this test disable_parsing; source include/master-slave.inc; connection master; CREATE TABLE t1 (data LONGBLOB) ENGINE=MYISAM; CREATE TABLE t2 (data LONGBLOB) ENGINE=MYISAM; INSERT INTO t1 (data) VALUES (repeat('a',1024*1024)); INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; sync_slave_with_master; connection master; send INSERT INTO t2 SELECT * FROM t1; connection master1; # This sleep is picked so that the query above has started to insert # some rows into t2. If it hasn't the slave will not stop below. sleep 4; # SHOW PROCESSLIST; # Code for the 5.1 server to get the thread id of the thread executing # the query above. # #SET @id = 0; #SELECT id INTO @id # FROM information_schema.processlist # WHERE info LIKE 'INSERT INTO t2%'; # This is the connection that is executing the INSERT INTO t2... KILL QUERY 2; connection slave; # Here the slave will only stop if the query above actually started # inserting some rows into t2. Otherwise, it will hang forever. wait_for_slave_to_stop; # The following should be 0 SELECT COUNT(*) FROM t2; # ... and there the error code should be 1317 (ER_QUERY_INTERRUPTED) --replace_result $MASTER_MYPORT MASTER_PORT --replace_column 1 # 7 # 8 # 9 # 20 # 22 # 23 # 33 # query_vertical SHOW SLAVE STATUS; enable_parsing; sql/slave.cc +1 −0 Original line number Diff line number Diff line Loading @@ -3099,6 +3099,7 @@ int check_expected_error(THD* thd, RELAY_LOG_INFO* rli, int expected_error) switch (expected_error) { case ER_NET_READ_ERROR: case ER_NET_ERROR_ON_WRITE: case ER_QUERY_INTERRUPTED: case ER_SERVER_SHUTDOWN: case ER_NEW_ABORTING_CONNECTION: return 1; Loading Loading
mysql-test/r/rpl_critical_errors.result.txt 0 → 100644 +56 −0 Original line number Diff line number Diff line 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; CREATE TABLE t1 (data LONGBLOB) ENGINE=MYISAM; CREATE TABLE t2 (data LONGBLOB) ENGINE=MYISAM; INSERT INTO t1 (data) VALUES (repeat('a',1024*1024)); INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t2 SELECT * FROM t1; KILL QUERY 2; SELECT COUNT(*) FROM t2; COUNT(*) 0 SHOW SLAVE STATUS; Slave_IO_State # Master_Host 127.0.0.1 Master_User root Master_Port MASTER_PORT Connect_Retry 1 Master_Log_File master-bin.000001 Read_Master_Log_Pos # Relay_Log_File # Relay_Log_Pos # Relay_Master_Log_File master-bin.000001 Slave_IO_Running Yes Slave_SQL_Running No Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno 1317 Last_Error # Skip_Counter 0 Exec_Master_Log_Pos # Relay_Log_Space # Until_Condition None Until_Log_File Until_Log_Pos 0 Master_SSL_Allowed No Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master #
mysql-test/t/rpl_critical_errors.test 0 → 100644 +66 −0 Original line number Diff line number Diff line # Test for BUG#26551 # # This test is unfortunately very fragile and very dependent on the # load of the computer. The test is therefore disabled normally. It is # entered here to demonstrate how to check that the bug is actually # solved. --echo Turn on parsing to run this test disable_parsing; source include/master-slave.inc; connection master; CREATE TABLE t1 (data LONGBLOB) ENGINE=MYISAM; CREATE TABLE t2 (data LONGBLOB) ENGINE=MYISAM; INSERT INTO t1 (data) VALUES (repeat('a',1024*1024)); INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; sync_slave_with_master; connection master; send INSERT INTO t2 SELECT * FROM t1; connection master1; # This sleep is picked so that the query above has started to insert # some rows into t2. If it hasn't the slave will not stop below. sleep 4; # SHOW PROCESSLIST; # Code for the 5.1 server to get the thread id of the thread executing # the query above. # #SET @id = 0; #SELECT id INTO @id # FROM information_schema.processlist # WHERE info LIKE 'INSERT INTO t2%'; # This is the connection that is executing the INSERT INTO t2... KILL QUERY 2; connection slave; # Here the slave will only stop if the query above actually started # inserting some rows into t2. Otherwise, it will hang forever. wait_for_slave_to_stop; # The following should be 0 SELECT COUNT(*) FROM t2; # ... and there the error code should be 1317 (ER_QUERY_INTERRUPTED) --replace_result $MASTER_MYPORT MASTER_PORT --replace_column 1 # 7 # 8 # 9 # 20 # 22 # 23 # 33 # query_vertical SHOW SLAVE STATUS; enable_parsing;
sql/slave.cc +1 −0 Original line number Diff line number Diff line Loading @@ -3099,6 +3099,7 @@ int check_expected_error(THD* thd, RELAY_LOG_INFO* rli, int expected_error) switch (expected_error) { case ER_NET_READ_ERROR: case ER_NET_ERROR_ON_WRITE: case ER_QUERY_INTERRUPTED: case ER_SERVER_SHUTDOWN: case ER_NEW_ABORTING_CONNECTION: return 1; Loading