Luís Soares 写道:
> Hi Dao-Gang,
>
> Nice Work. Please find my review comments below.
>
> STATUS
> ------
>
> Pending Clarification.
>
> REQUIRED CHANGES
> ----------------
> n/a
>
> REQUESTS
> --------
>
> R1. How did you run the test for 3 days in PB? Which tree did
> you use (only mysql-pe, or mysql-5.1-bugteam as well)?
>
Run two test scripts for 3 days on slid04.Norway.Sun.COM (powermac ppc)
as following:
Test1:
while [ !$? ]
do
./mtr rpl_innodb_bug28430 rpl_sp rpl_sp_effects rpl_failed_optimize
rpl_sporadic_master rpl_loaddata_map rpl_flushlog_loop rpl_cross_version
--no-reorder --mysqld=--binlog-format=mixed >>
output.rpl_cross_version.mixed
done
Test2:
while [ !$? ]
do
./mtr rpl_timezone rpl_innodb rpl_sp_effects rpl_failed_optimize
rpl_sporadic_master rpl_loaddata_map rpl_flushlog_loop rpl_cross_version
--mysqld=--binlog-format=statement >> output.rpl_cross_version.statement
done
Conclusions:
The failure can't be reproduced for on mysql-5.1-bugteam after enable
the test case.
The new reported failure happened on mysql-pe after enable the test case.
> R2. Why did you remove the --secure-file-privs from the opt
> file?
>
rpl.rpl_cross_version 'row' [ fail ]
Test ended at 2009-09-22 10:37:10
CURRENT_TEST: rpl.rpl_cross_version
mysqltest: In included file "./include/setup_fake_relay_log.inc": At
line 80: query 'select './$_fake_filename-fake.000001\n' into dumpfile
'$_fake_relay_index'' failed: 1290: The MySQL server is running with the
--secure-file-priv option so it cannot execute this statement
The "eval select './$_fake_filename-fake.000001\n' into dumpfile
'$_fake_relay_index'" statement will cause the above error with
--secure-file-priv option. The statement is updated from "--exec echo
$_fake_filename-fake.000001 > $_fake_relay_index" for fixing other
problem. Actually the test case work fine without the
--secure-file-priv option, so I removed it.
> R3. This change affects only mysql-pe. Nonetheless,
> rpl_cross_version is also disabled on mysql-5.1. If you
> think that reported faulty behavior is not reproducible in
> mysql-5.1 (CAN'T REPEAT), then I think the test case should
> be re-enabled there as well.
>
Yes. The test case will be enabled on both mysql-5.1-bugteam and
mysql-pe after the patch has been approved.
> R4. What should happen to BUG#42311? It seems pretty much
> related to the second issue you posted on the bug report,
> and the one that your fix is actually addressing.
>
The Bug #42311 will be fixed after the patch has been committed.
> SUGGESTIONS
> -----------
> n/a
>
> DETAILS
> -------
> n/a
>
> On Fri, 2009-09-18 at 11:44 +0000, Dao-Gang.Qu@stripped wrote:
>
>> #At file:///home/daogangqu/mysql/bzrwork/bug43913/mysql-pe/ based on
> revid:luis.soares@stripped
>>
>> 3605 Dao-Gang.Qu@stripped 2009-09-18
>> Bug #43913 rpl_cross_version can't pass on conflicts complainig clash with
> --slave-load-tm
>>
>> The MDL_SHARED lock was introduced for an object in 5.4, but the
> 'TABLE_LIST'
>> object was not initialized with the MDL_SHARED lock when applying event
> with
>> LOAD DATA INFILE into table. So the failure is caused when checking the
>> MDL_SHARED lock for the object.
>>
>> To fix the problem, the 'TABLE_LIST' object was initialized with the
> MDL_SHARED
>> lock when applying event with LOAD DATA INFILE into table.
>> @ mysql-test/suite/rpl/t/disabled.def
>> Got rid of the line for enabling 'rpl_cross_version' test.
>>
>> modified:
>> mysql-test/suite/rpl/t/disabled.def
>> mysql-test/suite/rpl/t/rpl_cross_version-master.opt
>> sql/log_event.cc
>> === modified file 'mysql-test/suite/rpl/t/disabled.def'
>> --- a/mysql-test/suite/rpl/t/disabled.def 2009-08-13 21:09:33 +0000
>> +++ b/mysql-test/suite/rpl/t/disabled.def 2009-09-18 11:42:33 +0000
>> @@ -10,7 +10,6 @@
>> #
>> ##############################################################################
>>
>> -rpl_cross_version : BUG#42311 2009-03-27 joro rpl_cross_version fails
> on macosx
>> rpl_heartbeat_basic : Bug#43828 Sporadic failures (Serge.Kozlov@stripped)
>> rpl_heartbeat_2slaves : Bug#43828 Sporadic failures (Serge.Kozlov@stripped)
>> rpl_failed_optimize : WL#4284: Can't optimize table used by a pending
> transaction (there is metadata lock on the table).
>>
>> === modified file 'mysql-test/suite/rpl/t/rpl_cross_version-master.opt'
>> --- a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt 2009-01-27 11:33:30
> +0000
>> +++ b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt 2009-09-18 11:42:33
> +0000
>> @@ -1 +1 @@
>> ---replicate-same-server-id --relay-log=slave-relay-bin
> --secure-file-priv=$MYSQL_TMP_DIR
>> +--replicate-same-server-id --relay-log=slave-relay-bin
>>
>> === modified file 'sql/log_event.cc'
>> --- a/sql/log_event.cc 2009-09-10 10:10:09 +0000
>> +++ b/sql/log_event.cc 2009-09-18 11:42:33 +0000
>> @@ -4575,10 +4575,7 @@ int Load_log_event::do_apply_event(NET*
>> thd->warning_info->opt_clear_warning_info(thd->query_id);
>>
>> TABLE_LIST tables;
>> - bzero((char*) &tables,sizeof(tables));
>> - tables.db= thd->strmake(thd->db, thd->db_length);
>> - tables.alias = tables.table_name = (char*) table_name;
>> - tables.lock_type = TL_WRITE;
>> + tables.init_one_table(thd->db, thd->db_length, table_name,
> table_name_len, table_name, TL_WRITE);
>> tables.updating= 1;
>>
>> // the table will be opened in mysql_load
>>
>>