Alfranio,
> Hi Andrei,
>
> Great catch,
>
> See just one comment below.
>
> Andrei Elkin wrote:
>> #At file:///home/andrei/MySQL/BZR/FIXES/5.1-bt-bug40559-check_bl_magic/ based on
> revid:luis.soares@stripped
>>
>> 2836 Andrei Elkin 2009-03-06
>> Bug #40559 assertion failed in check_binlog_magic
>>
>> The reason of the bug is in that the test makes a trick with relay log
> files and
>> did not reset fully at the end.
>> If mtr does not restart the test the new SQL thread tried to work with the
> old time
it was meant restart the server ^
>> session data.
>>
>> Fixed with deploying RESET slave at the clean-up.
>> modified:
>> mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result
>> mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test
>>
>> per-file messages:
>> mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test
>> adding RESET slave to force active mi and rli data struct to be reset.
>> The slave SQL thread will deal with a fresh structures each time it
> restarts.
>> === modified file
> 'mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result'
>> --- a/mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result 2008-11-13
> 19:19:00 +0000
>> +++ b/mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result 2009-03-06
> 18:19:29 +0000
>> @@ -38,4 +38,5 @@ DROP PROCEDURE IF EXISTS p2;
>> DROP FUNCTION IF EXISTS f1;
>> DROP TRIGGER IF EXISTS tr1;
>> stop slave sql_thread;
>> +reset slave;
>> SET @@global.relay_log_purge= @old_relay_log_purge;
>>
>> === modified file
> 'mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test'
>> --- a/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test 2008-11-13
> 19:19:00 +0000
>> +++ b/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test 2009-03-06
> 18:19:29 +0000
>> @@ -52,9 +52,10 @@ DROP FUNCTION IF EXISTS f1;
>> DROP TRIGGER IF EXISTS tr1;
>> enable_warnings;
>>
>> -remove_file $MYSQLD_DATADIR/slave-relay-bin.000001;
>> -remove_file $MYSQLD_DATADIR/slave-relay-bin.index;
>> stop slave sql_thread;
>> +reset slave;
>> source include/wait_for_slave_sql_to_stop.inc;
>> +remove_file $MYSQLD_DATADIR/slave-relay-bin.000001;
>> +remove_file $MYSQLD_DATADIR/slave-relay-bin.index;
>>
>
> Why do you still need to explicitly remove these files if you are doing
> reset slave?
A good question. The answer must be in this:
12.6.2.5 `RESET SLAVE' Syntax
.............................
RESET SLAVE
*note `RESET SLAVE': reset-slave. makes the slave forget its
replication position in the master's binary logs. This statement is
meant to be used for a clean start: It deletes the `master.info' and
`relay-log.info' files, all the relay logs,
and starts a new relay log.
~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to be able to run ./mtr test test ... test
I have to keep manual removal.
cheers,
Andrei