List:Commits« Previous MessageNext Message »
From:Serge Kozlov Date:April 21 2008 9:37am
Subject:Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673
View as plain text  
Hi, Zhenxing.

Thank you for review.

I agree with you so I removed FOREIGN_KEY_CHECKS on slave. May be the 
bug gone away with other fixes.
If you have no objections pls approve in on bug report (in reviewer section)

He Zhenxing wrote:
> Hi Serge
> 
> Thank you for your work!
> 
> First, I don't think add SET FOREIGN_KEY_CHECKS on slave can help the
> issue because the test case uses RBR, and even if using SBR, the master
> will correctly recording the value of FOREIGN_KEY_CHECKS for the
> statement in the events. So SET FOREIGN_KEY_CHECKS on slave is not
> necessary. Add ORDER BY might be helpful. 
> 
> Second, I checked several recent pushbuild results of mysql-6.0, and did
> not find any failure of this test case, so I think maybe this problem
> has already been fixed. I would suggest you to do a more complete check
> to see if this test case still fails in the recent pushbuild, if you can
> find any, check the logs and try to figure out the problem with that, if
> not, I think this is more likely a server problem, and has already been
> fixed, so you can just add a comment and close this bug.
> 
> On 2008-04-04 Fri 01:05 +0400,Serge Kozlov wrote:
>> Below is the list of changes that have just been committed into a local
>> 6.0 repository of skozlov.  When skozlov does a push these changes
>> will be propagated to the main repository and, within 24 hours after the
>> push, to the public repository.
>> For information on how to access the public repository
>> see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
>>
>> ChangeSet@stripped, 2008-04-04 01:05:25+04:00, skozlov@stripped +3 -0
>>   Bug#32673.
>>   1. Added ORDER BY for all SELECT.
>>   2. Set FOREIGN_KEY_CHECKS variable on slave to avoid issues with FK updates.
>>
>>   mysql-test/extra/rpl_tests/rpl_row_sp002.test@stripped, 2008-04-04 01:05:19+04:00,
> skozlov@stripped +19 -16
>>     updated test case
>>
>>   mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result@stripped, 2008-04-04
> 01:05:19+04:00, skozlov@stripped +17 -16
>>     updated result file
>>
>>   mysql-test/suite/rpl/t/disabled.def@stripped, 2008-04-04 01:05:19+04:00,
> skozlov@stripped +0 -1
>>     updated disabled.def
>>
>> diff -Nrup a/mysql-test/extra/rpl_tests/rpl_row_sp002.test
> b/mysql-test/extra/rpl_tests/rpl_row_sp002.test
>> --- a/mysql-test/extra/rpl_tests/rpl_row_sp002.test	2007-03-29 22:31:01 +04:00
>> +++ b/mysql-test/extra/rpl_tests/rpl_row_sp002.test	2008-04-04 01:05:19 +04:00
>> @@ -56,6 +56,9 @@ delimiter ;|
>>  let $message=< -- test 1 call p1 -- >;
>>  --source include/show_msg.inc
>>  SET FOREIGN_KEY_CHECKS=1;
>> +--connection slave
>> +SET FOREIGN_KEY_CHECKS=1;
>> +--connection master
>>  call test.p1('texas');
>>  call test.p1('Live');
>>  call test.p1('next');
>> @@ -66,31 +69,31 @@ call test.p1('MySQL');
>>  let $message=< -- test 1 select master after p1 -- >;
>>  --source include/show_msg.inc
>>  
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  let $message=< -- test 1 select slave after p1 -- >;
>>  --source include/show_msg.inc
>>  save_master_pos;
>>  connection slave;
>>  sync_with_master;
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  let $message=< -- test 1 call p2 & select master -- >;
>>  --source include/show_msg.inc
>>  connection master;
>>  call test.p2(4);
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  let $message=< -- test 1 select slave after p2 -- >;
>>  --source include/show_msg.inc
>>  save_master_pos;
>>  connection slave;
>>  sync_with_master;
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  connection master;
>>  #show binlog events;
>> @@ -131,16 +134,16 @@ CALL test.p1(6,'MySQL');
>>  
>>  let $message=< -- test 2 select Master after p1 -- >;
>>  --source include/show_msg.inc
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  let $message=< -- test 2 select Slave after p1 -- >;
>>  --source include/show_msg.inc
>>  save_master_pos;
>>  connection slave;
>>  sync_with_master;
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  let $message=< -- test 2 call p2 & select Master -- >;
>>  --source include/show_msg.inc
>> @@ -148,16 +151,16 @@ connection master;
>>  CALL test.p2(2);
>>  CALL test.p2(4);
>>  CALL test.p2(6);
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  let $message=< -- test 1 select Slave after p2 -- >;
>>  --source include/show_msg.inc
>>  save_master_pos;
>>  connection slave;
>>  sync_with_master;
>> -SELECT * FROM test.t1;
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t1 ORDER BY a;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  
>>  connection master;
>>  #show binlog events;
>> diff -Nrup a/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result
> b/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result
>> --- a/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result	2007-06-27 16:27:30
> +04:00
>> +++ b/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result	2008-04-04 01:05:19
> +04:00
>> @@ -25,6 +25,7 @@ end|
>>  < -- test 1 call p1 -- >
>>  ------------------------
>>  SET FOREIGN_KEY_CHECKS=1;
>> +SET FOREIGN_KEY_CHECKS=1;
>>  call test.p1('texas');
>>  call test.p1('Live');
>>  call test.p1('next');
>> @@ -34,7 +35,7 @@ call test.p1('MySQL');
>>  
>>  < -- test 1 select master after p1 -- >
>>  ---------------------------------------
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  1	texas
>>  2	Live
>> @@ -42,7 +43,7 @@ a	t
>>  4	to
>>  5	OK
>>  6	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  1	1
>>  2	2
>> @@ -53,7 +54,7 @@ a	f
>>  
>>  < -- test 1 select slave after p1 -- >
>>  --------------------------------------
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  1	texas
>>  2	Live
>> @@ -61,7 +62,7 @@ a	t
>>  4	to
>>  5	OK
>>  6	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  1	1
>>  2	2
>> @@ -73,12 +74,12 @@ a	f
>>  < -- test 1 call p2 & select master -- >
>>  ----------------------------------------
>>  call test.p2(4);
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  4	to
>>  5	OK
>>  6	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  4	4
>>  5	5
>> @@ -86,12 +87,12 @@ a	f
>>  
>>  < -- test 1 select slave after p2 -- >
>>  --------------------------------------
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  4	to
>>  5	OK
>>  6	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  4	4
>>  5	5
>> @@ -125,7 +126,7 @@ CALL test.p1(6,'MySQL');
>>  
>>  < -- test 2 select Master after p1 -- >
>>  ---------------------------------------
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  1	texas
>>  2	Live
>> @@ -133,7 +134,7 @@ a	t
>>  4	to
>>  5	OK
>>  6	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  1	6
>>  2	6
>> @@ -144,7 +145,7 @@ a	f
>>  
>>  < -- test 2 select Slave after p1 -- >
>>  --------------------------------------
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  1	texas
>>  2	Live
>> @@ -152,7 +153,7 @@ a	t
>>  4	to
>>  5	OK
>>  6	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  1	6
>>  2	6
>> @@ -166,7 +167,7 @@ a	f
>>  CALL test.p2(2);
>>  CALL test.p2(4);
>>  CALL test.p2(6);
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  1	texas
>>  3	next
>> @@ -174,7 +175,7 @@ a	t
>>  20	Live
>>  40	to
>>  60	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  1	6
>>  3	6
>> @@ -185,7 +186,7 @@ a	f
>>  
>>  < -- test 1 select Slave after p2 -- >
>>  --------------------------------------
>> -SELECT * FROM test.t1;
>> +SELECT * FROM test.t1 ORDER BY a;
>>  a	t
>>  1	texas
>>  3	next
>> @@ -193,7 +194,7 @@ a	t
>>  20	Live
>>  40	to
>>  60	MySQL
>> -SELECT * FROM test.t2;
>> +SELECT * FROM test.t2 ORDER BY a;
>>  a	f
>>  1	6
>>  3	6
>> diff -Nrup a/mysql-test/suite/rpl/t/disabled.def
> b/mysql-test/suite/rpl/t/disabled.def
>> --- a/mysql-test/suite/rpl/t/disabled.def	2008-03-30 11:17:06 +04:00
>> +++ b/mysql-test/suite/rpl/t/disabled.def	2008-04-04 01:05:19 +04:00
>> @@ -23,7 +23,6 @@ rpl_extraColmaster_innodb  : BUG#30854 :
>>  rpl_extraColmaster_myisam  : BUG#30854
>>  rpl_view                   : Bug#32654: rpl_view.test fails randomly
>>  rpl_ndb_multi              : Bug#30751: rpl_ndb_multi missing row in output
>> -rpl_row_sp002_innodb       : Bug#32673 rpl_row_sp002_innodb.test fails randomly
>>  rpl_ssl                    : Bug#32217 rpl_ssl fails with different number of
> records on master and slave
>>  rpl_row_until              : Bug#28772 rpl_row_until fails in pushbuild
>>  rpl_log_pos                : Bug#8693 Test 'rpl_log_pos' fails sometimes
> 
> 
> 


-- 
Serge Kozlov, QA Developer
MySQL AB, Moscow, Russia, www.mysql.com
Office:

Are you MySQL certified?  www.mysql.com/certification
Thread
bk commit into 6.0 tree (skozlov:1.2626) BUG#32673Serge Kozlov3 Apr
  • Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673He Zhenxing19 Apr
    • Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673He Zhenxing21 Apr
    • Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673Serge Kozlov21 Apr
Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673Serge Kozlov3 Apr
  • Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673Ingo Strüwing4 Apr
    • Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673Serge Kozlov4 Apr
Re: bk commit into 6.0 tree (skozlov:1.2626) BUG#32673Serge Kozlov4 Apr