Bug #40927 | rpl.rpl_relay_space_falcon fails when binlog-format is explicitly set to mixed | ||
---|---|---|---|
Submitted: | 21 Nov 2008 15:40 | Modified: | 11 Dec 2008 14:26 |
Reporter: | John Embretsen | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Tests: Replication | Severity: | S7 (Test Cases) |
Version: | 6.0.9-bzr | OS: | Any |
Assigned to: | John Embretsen | CPU Architecture: | Any |
Tags: | falcon, pushbuild, test failure |
[21 Nov 2008 15:40]
John Embretsen
[21 Nov 2008 16:30]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/59573 2915 John H. Embretsen 2008-11-21 Bug#40926, Bug#40927, Bug#40930: Disabling rpl falcon tests that fail in Pushbuild until failures have been properly analyzed and possibly fixed. rpl.rpl_extraCol_falcon: Fails on Windows in Pushbuild 2 during STOP SLAVE (bug 40930). rpl.rpl_relay_space_falcon: Fails in Pushbuild due to binlog-format settings (bug 40927). rpl.rpl_truncate_falcon: Fails in Pushbuild due to binlog-format settings (bug 40926).
[24 Nov 2008 13:33]
John Embretsen
This test failure seems to be (at least in part) caused by missing cleanup in a previous test, most likely rpl.rpl_rbr_to_sbr. The test fails when all of the following conditions are satisifed: - combination from suite's combinations file sets --binlog-format=stmt - cmd line option: --mysqld=--binlog-format=mixed - rpl_rbr_to_sbr does not revert binlog setting modifications (mixed) The following change makes the rpl_rbr_to_sbr clean up after itself: http://lists.mysql.com/commits/49805 This change is present in current rpl code branches, but it has not been merged to mysql-6.0, aka. "main" (yet). If the cleanup patch is applied, the rpl_relay_space_falcon test passes, but the rpl_rbr_to_sbr test fails due to an extra logged event on the slave (probably due to other diffs between rpl branches and the main branch, not sure what to do about that at this time): SHOW BINLOG EVENTS; Log_name Pos Event_type Server_id End_log_pos Info slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4 +slave-bin.000001 # Query 2 # use `test`; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9 slave-bin.000001 # Query 1 # use `test`; CREATE TABLE t1 (a INT, b LONG) slave-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES (1,1), (2,2) slave-bin.000001 # Query 1 # use `test`; BEGIN mysqltest: Result content mismatch Some more analysis is needed to understand exactly why binlog format on the slave is set to 'stmt' (while and the check for 'row' or 'mixed' in the beginning of the test does not cause the test to be skipped).
[27 Nov 2008 10:09]
John Embretsen
Adding cleanup code to the rpl_rbr_to_sbr test will most likely resolve this issue (see diff below). Workaround: Do not run rpl suite with combinations enabled *and* cmd line option --mysqld=--binlog-format=mixed in Pushbuild. Note that this fix is already present in mysql-6.0-rpl branch (original 5.1 push mail: http://lists.mysql.com/commits/49806). I see the following alternative approaches to fixing this: 1) Check in cleanup fix to mysql-6.0-falcon-team branch (merged regularly into main). Potential merge conflicts(?) to be handled later, when rpl branches are merged to 6.0 main. 2) Remove test from mysql-6.0-falcon-team branch and add it to mysql-6.0-rpl branch instead (not merged regularly into main). 3) Keep test disabled until mysql-6.0-rpl testfixes are merged into main. I will proceed with alternative 1) unless anyone objects. ------ Cleanup diff start ------- === modified file 'mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result' --- mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result 2008-04-02 13:14:23 +0000 +++ mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result 2008-11-27 08:49:07 +0000 @@ -4,6 +4,7 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; +SET @old_binlog_format= @@global.binlog_format; SET BINLOG_FORMAT=MIXED; SET GLOBAL BINLOG_FORMAT=MIXED; SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT; @@ -73,3 +74,4 @@ slave-bin.000001 # Table_map 1 # table_i slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F slave-bin.000001 # Query 1 # use `test`; COMMIT DROP TABLE IF EXISTS t1; +SET @@global.binlog_format= @old_binlog_format; === modified file 'mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test' --- mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test 2007-06-27 12:29:10 +0000 +++ mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test 2008-11-27 08:44:08 +0000 @@ -5,6 +5,8 @@ # Test that the slave temporarily switches to ROW when seeing binrow # events when it is in STATEMENT or MIXED mode +SET @old_binlog_format= @@global.binlog_format; + SET BINLOG_FORMAT=MIXED; SET GLOBAL BINLOG_FORMAT=MIXED; SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT; @@ -33,6 +35,7 @@ SHOW BINLOG EVENTS; connection master; DROP TABLE IF EXISTS t1; +SET @@global.binlog_format= @old_binlog_format; # Let's compare. Note: If they match test will pass, if they do not match # the test will show that the diff statement failed and not reject file ------ Cleanup diff end -------
[27 Nov 2008 15:36]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/60071 2920 John H. Embretsen 2008-11-27 Fix for Bug#40927 - rpl.rpl_relay_space_falcon fails when binlog-format is explicitly set to mixed. Test failed due to BINLOG_FORMAT being set in a previous test (rpl.rpl_rbr_to_sbr), which effectively 'disabled' the check for correct binlog format in rpl.rpl_relay_space_falcon under certain circumstances (Pushbuild). This patch makes sure that rpl.rpl_rbr_to_sbr cleans up after itself (stores and re-sets the original binlog-format value).
[1 Dec 2008 8:15]
John Embretsen
Patch pushed to mysql-6.0-falcon-team bzr branch. Date: 2008-11-28 13:56:05 UTC Revision: john.embretsen@sun.com-20081127153329-9i4hliwkv1sivq7r
[11 Dec 2008 14:20]
Bugs System
Pushed into 6.0.9-alpha (revid:john.embretsen@sun.com-20081127153329-9i4hliwkv1sivq7r) (version source revid:hky@sun.com-20081205164847-vbocpvlyf6fbxkkj) (pib:5)
[11 Dec 2008 14:26]
Paul DuBois
Test case changes. No changelog entry needed.