Browse Source
Bug #48463 backporting from 6.0-rpl to celosia a set of bugs
Bug #48463 backporting from 6.0-rpl to celosia a set of bugs
The mentioned on the bug report set of bugs fixes have not be pushed to the main trees. Fixed with extracting commits done to 6.0-rpl tree and applying them to the main 5.1. Notes. 1. part of changes - the mtr's specific - were packported to the main 5.0 tree for mtr v1 as http://lists.mysql.com/commits/46562 However, there is no that fix anymore in the mtr v2. (This fact was mailed to mtr maintaining people). 2. Bug@36929 crash in kill_zombie_dump_threads-> THD::awake() with replication tests is not backported because the base code of the patch is libevent and that was removed from the main trees due to its instability. client/mysqlbinlog.cc: fixes for BUG#35546 mysql-test/suite/rpl/r/rpl_bug41902.result: the new tests result file is added. mysql-test/suite/rpl/t/rpl_bug41902-slave.opt: conf file for bug41902 testing is added. mysql-test/suite/rpl/t/rpl_bug41902.test: regression tests for Bug #41902 is added. sql/log.cc: collection of changes due to Bug #48463. sql/log.h: collection of changes due to Bug #48463. sql/rpl_rli.h: collection of changes due to Bug #48463. sql/slave.cc: collection of changes due to Bug #48463. sql/sql_repl.cc: collection of changes due to Bug #48463.pull/374/head
9 changed files with 172 additions and 30 deletions
-
19client/mysqlbinlog.cc
-
34mysql-test/suite/rpl/r/rpl_bug41902.result
-
1mysql-test/suite/rpl/t/rpl_bug41902-slave.opt
-
61mysql-test/suite/rpl/t/rpl_bug41902.test
-
43sql/log.cc
-
1sql/log.h
-
10sql/rpl_rli.h
-
10sql/slave.cc
-
23sql/sql_repl.cc
@ -0,0 +1,34 @@ |
|||
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; |
|||
stop slave; |
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
reset slave; |
|||
ERROR HY000: Target log not found in binlog index |
|||
show warnings; |
|||
Level Code Message |
|||
Error 1373 Target log not found in binlog index |
|||
Error 1371 Failed purging old relay logs: Failed during log reset |
|||
SET @@debug=""; |
|||
reset slave; |
|||
change master to master_host='dummy'; |
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
change master to master_host='dummy'; |
|||
ERROR HY000: Target log not found in binlog index |
|||
SET @@debug=""; |
|||
reset slave; |
|||
change master to master_host='dummy'; |
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
reset master; |
|||
ERROR HY000: Target log not found in binlog index |
|||
SET @@debug=""; |
|||
reset master; |
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
purge binary logs to 'master-bin.000001'; |
|||
ERROR HY000: Target log not found in binlog index |
|||
SET @@debug=""; |
|||
purge binary logs to 'master-bin.000001'; |
|||
End of the tests |
|||
@ -0,0 +1 @@ |
|||
--loose-debug=-d,simulate_find_log_pos_error |
|||
@ -0,0 +1,61 @@ |
|||
# Test for Bug #41902 MYSQL_BIN_LOG::reset_logs() doesn't call my_error() |
|||
# in face of an error |
|||
# |
|||
|
|||
source include/have_debug.inc; |
|||
source include/master-slave.inc; |
|||
|
|||
# |
|||
# test checks that |
|||
# a. there is no crash when find_log_pos() returns with an error |
|||
# that tests expect to receive; |
|||
# b. in the case of multiple error messages the first error message is |
|||
# reported to the user and others are available as warnings. |
|||
# |
|||
|
|||
connection slave; |
|||
stop slave; |
|||
|
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
|
|||
--error ER_UNKNOWN_TARGET_BINLOG |
|||
reset slave; |
|||
show warnings; |
|||
|
|||
SET @@debug=""; |
|||
reset slave; |
|||
change master to master_host='dummy'; |
|||
|
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
|
|||
--error ER_UNKNOWN_TARGET_BINLOG |
|||
change master to master_host='dummy'; |
|||
|
|||
SET @@debug=""; |
|||
reset slave; |
|||
change master to master_host='dummy'; |
|||
|
|||
connection master; |
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
--error ER_UNKNOWN_TARGET_BINLOG |
|||
reset master; |
|||
|
|||
SET @@debug=""; |
|||
reset master; |
|||
|
|||
SET @@debug="d,simulate_find_log_pos_error"; |
|||
--error ER_UNKNOWN_TARGET_BINLOG |
|||
purge binary logs to 'master-bin.000001'; |
|||
|
|||
SET @@debug=""; |
|||
purge binary logs to 'master-bin.000001'; |
|||
|
|||
--disable_query_log |
|||
call mtr.add_suppression("Failed to locate old binlog or relay log files"); |
|||
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index"); |
|||
connection slave; |
|||
call mtr.add_suppression("Failed to locate old binlog or relay log files"); |
|||
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index"); |
|||
--enable_query_log |
|||
|
|||
--echo End of the tests |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue