Hi Serge,
If the patch aims to provide more information on the failure, I can
agree although still
have doubts if it will provide it.
Cheers.
Serge Kozlov wrote:
> Alfranio Correia пишет:
>> Hi Serge,
>>
>> See comments in-line.
>>
>> Serge Kozlov wrote:
>>> #At file:///home/ksm/sun/repo/bug38077/mysql-5.1-bugteam/ based on
>>> revid:timothy.smith@stripped
>>>
>>> 2853 Serge Kozlov 2009-04-02
>>> Bug#38077.
>>> 1. Replace waiting of SQL thread stop by waiting of SQL error
>>> on slave and stopped SQL thread.
>>> 2. Remove debug code because it already implemented in MTR2.
>>> modified:
>>> mysql-test/suite/rpl/t/rpl_incident.test
>>>
>>> === modified file 'mysql-test/suite/rpl/t/rpl_incident.test'
>>> --- a/mysql-test/suite/rpl/t/rpl_incident.test 2008-08-14
>>> 09:38:22 +0000
>>> +++ b/mysql-test/suite/rpl/t/rpl_incident.test 2009-04-02
>>> 19:33:02 +0000
>>> @@ -14,42 +14,13 @@ REPLACE INTO t1 VALUES (4);
>>> SELECT * FROM t1;
>>>
>>> connection slave;
>>> -source include/wait_for_slave_sql_to_stop.inc;
>>> +# Wait until SQL thread stops with error LOST_EVENT on master
>>> +let $slave_sql_errno= 1590;
>>> +source include/wait_for_slave_sql_error.inc;
>>>
>> You are waiting until the sql thread stops due to an specific
>> error. Before that, you were just waiting for any error.
>
> No, currently test waits stop of sql thread. This code will pass even
> if slave stopped by unknown reasons: PB error or something else.
> Waiting of specific error guaranties that test will be interrupted at
> this point if behavior of slave is another than we expected.
>
>>
>> Unfortunately, in the context of this test case, I can't see the
>> difference to avoid having the failures in pushbuild.
>>
>> Can you explain what I am missing?
>>
>> Cheers.
>>
>>>
>>> # The 4 should not be inserted into the table, since the incident log
>>> # event should have stop the slave.
>>> --echo **** On Slave ****
>>> -#### BEGIN DEBUG INFO ADDED BY SVEN 2008-07-18 -- SEE BUG#38077 ####
>>> -let $tables= query_get_value(SHOW TABLES, Tables_in_test, 1);
>>> -if (`SELECT '$tables' != 't1'`)
>>> -{
>>> - --echo **** TEST CASE BUG! PRINTING DEBUG INFO! ****
>>> - --echo **** Dear developer, if you see this in the output of a test
>>> - --echo **** case run, please add all the information below as a
>>> - --echo **** comment to BUG#38077. If it's a pushbuild failure,
>>> please
>>> - --echo **** include a link to the push page.
>>> - --echo **** Thank you! /Sven
>>> - SHOW BINLOG EVENTS;
>>> - --echo **** master binlog ****
>>> - --error 0,1
>>> - --exec $MYSQL_BINLOG --hexdump
>>> $MYSQLTEST_VARDIR/log/master-bin.000001
>>> - --echo **** slave binlog ****
>>> - --error 0,1
>>> - --exec $MYSQL_BINLOG --hexdump
>>> $MYSQLTEST_VARDIR/log/slave-bin.000001
>>> - --echo **** slave status ****
>>> - query_vertical SHOW SLAVE STATUS;
>>> - --echo **** slave's master status ****
>>> - SHOW MASTER STATUS;
>>> - --echo **** slave binlog events ****
>>> - --echo [on master]
>>> - connection master;
>>> - --echo **** master status ****
>>> - SHOW MASTER STATUS;
>>> - --echo **** master binlog events ****
>>> - SHOW BINLOG EVENTS;
>>> - exit;
>>> -}
>>> -#### END DEBUG INFO ####
>>> SELECT * FROM t1;
>>>
>>> --replace_result $MASTER_MYPORT MASTER_PORT
>>>
>>>
>>>
>>
>
>