From: Andrei Elkin Date: April 18 2012 1:34pm Subject: bzr push into mysql-trunk branch (andrei.elkin:3875 to 3876) Bug#13893310 List-Archive: http://lists.mysql.com/commits/143525 X-Bug: 13893310 Message-Id: <201204181334.q3IDYKe1019180@mysql1000.dsl.inet.fi> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3876 Andrei Elkin 2012-04-18 BUG#13893310 a push-push issue is fixed. The path to slave info file was handled incorrectly to make the file slip deletion what PB2 diagnosed to catch Error 6 Error on delete on multiple rpl tests. Fixed with simplifying Rpl_info_file::do_reset_info() to use the well-formed file name argument instead of compose one with fn_format. modified: sql/rpl_info_file.cc 3875 Tor Didriksen 2012-04-18 [merge] local merge added: mysql-test/r/mysql_embedded_client_test.result mysql-test/suite/innodb/r/innodb-alter-discard.result mysql-test/suite/innodb/t/innodb-alter-discard.test mysql-test/suite/sys_vars/r/transaction_allow_batching_basic.result mysql-test/suite/sys_vars/t/transaction_allow_batching_basic.test mysql-test/t/mysql_embedded_client_test.test modified: include/mysql_com.h libmysqld/lib_sql.cc mysql-test/extra/rpl_tests/rpl_loaddata.test mysql-test/extra/rpl_tests/rpl_mts_crash_safe.inc mysql-test/extra/rpl_tests/rpl_row_basic.test mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test mysql-test/include/function_defaults.inc mysql-test/r/alter_table.result mysql-test/r/derived.result mysql-test/r/explain.result mysql-test/r/function_defaults.result mysql-test/r/get_diagnostics.result mysql-test/r/help.result mysql-test/r/innodb_explain_json_non_select_all.result mysql-test/r/innodb_explain_json_non_select_none.result mysql-test/r/innodb_explain_non_select_all.result mysql-test/r/innodb_explain_non_select_none.result mysql-test/r/myisam_explain_json_non_select_all.result mysql-test/r/myisam_explain_json_non_select_none.result mysql-test/r/myisam_explain_non_select_all.result mysql-test/r/myisam_explain_non_select_none.result mysql-test/r/partition_error.result mysql-test/r/partition_exchange.result mysql-test/r/read_only_innodb.result mysql-test/r/show_check.result mysql-test/r/sp-destruct.result mysql-test/r/sp-threads.result mysql-test/r/tablespace.result mysql-test/r/type_time.result mysql-test/r/variables.result mysql-test/suite/binlog/r/binlog_grant.result mysql-test/suite/binlog/r/binlog_rewrite.result mysql-test/suite/binlog/t/binlog_grant.test mysql-test/suite/engines/funcs/t/crash_manytables_number.test mysql-test/suite/engines/funcs/t/ld_all_number_string_calendar_types.test mysql-test/suite/engines/funcs/t/se_join_cross.test mysql-test/suite/engines/funcs/t/se_join_default.test mysql-test/suite/engines/funcs/t/se_join_inner.test mysql-test/suite/engines/funcs/t/se_join_left.test mysql-test/suite/engines/funcs/t/se_join_natural_left.test mysql-test/suite/engines/funcs/t/se_join_natural_left_outer.test mysql-test/suite/engines/funcs/t/se_join_natural_right.test mysql-test/suite/engines/funcs/t/se_join_natural_right_outer.test mysql-test/suite/engines/funcs/t/se_join_right.test mysql-test/suite/engines/funcs/t/se_join_right_outer.test mysql-test/suite/engines/funcs/t/se_join_straight.test mysql-test/suite/engines/funcs/t/se_string_limit.test mysql-test/suite/engines/iuds/t/update_delete_number.test mysql-test/suite/funcs_1/datadict/processlist_priv.inc mysql-test/suite/funcs_1/datadict/processlist_val.inc mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result mysql-test/suite/funcs_1/r/processlist_priv_ps.result mysql-test/suite/funcs_1/r/processlist_val_no_prot.result mysql-test/suite/funcs_1/r/processlist_val_ps.result mysql-test/suite/innodb/r/innodb-index-online.result mysql-test/suite/innodb/t/innodb-index-online.test mysql-test/suite/innodb/t/innodb_bug30423.test mysql-test/suite/innodb/t/innodb_bug53290.test mysql-test/suite/innodb_fts/r/innodb_fts_misc.result mysql-test/suite/innodb_fts/t/innodb_fts_misc.test mysql-test/suite/parts/r/partition_exch_qa_12.result mysql-test/suite/parts/t/partition_exch_qa_12.test mysql-test/suite/parts/t/partition_float_myisam.test mysql-test/suite/perfschema/r/digest_table_full.result mysql-test/suite/perfschema/r/statement_digest.result mysql-test/suite/perfschema/r/statement_digest_consumers.result mysql-test/suite/perfschema/r/statement_digest_long_query.result mysql-test/suite/rpl/r/rpl_alter_repository.result mysql-test/suite/rpl/r/rpl_binlog_index.result mysql-test/suite/rpl/r/rpl_loaddata.result mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result mysql-test/suite/rpl/r/rpl_mixed_mts_crash_safe.result mysql-test/suite/rpl/r/rpl_mixed_mts_rec_crash_safe.result mysql-test/suite/rpl/r/rpl_mixed_mts_rec_crash_safe_checksum.result mysql-test/suite/rpl/r/rpl_mts_debug.result mysql-test/suite/rpl/r/rpl_parallel_start_stop.result mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result mysql-test/suite/rpl/r/rpl_row_basic_allow_batching.result mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result mysql-test/suite/rpl/r/rpl_row_mts_crash_safe.result mysql-test/suite/rpl/r/rpl_row_mts_rec_crash_safe.result mysql-test/suite/rpl/r/rpl_stm_EE_err2.result mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result mysql-test/suite/rpl/r/rpl_stm_mts_crash_safe.result mysql-test/suite/rpl/r/rpl_stm_mts_rec_crash_safe.result mysql-test/suite/rpl/t/rpl_alter_repository.test mysql-test/suite/rpl/t/rpl_binlog_index.test mysql-test/suite/rpl/t/rpl_innodb_bug28430.test mysql-test/suite/rpl/t/rpl_mts_debug.test mysql-test/suite/rpl/t/rpl_parallel_innodb.test mysql-test/suite/rpl/t/rpl_parallel_start_stop.test mysql-test/suite/rpl/t/rpl_rotate_purge_deadlock.test mysql-test/suite/rpl/t/rpl_row_crash_safe.test mysql-test/suite/rpl/t/rpl_row_img_blobs.test mysql-test/suite/rpl/t/rpl_row_img_eng_full.test mysql-test/suite/rpl/t/rpl_row_img_idx_full.test mysql-test/suite/rpl/t/rpl_stm_mixed_crash_safe.test mysql-test/suite/rpl/t/rpl_stm_until.test mysql-test/suite/rpl/t/rpl_stop_slave.test mysql-test/suite/rpl/t/rpl_typeconv.test mysql-test/suite/sys_vars/r/max_binlog_cache_size_basic.result mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result mysql-test/t/alter_table.test mysql-test/t/derived.test mysql-test/t/disabled.def mysql-test/t/help.test mysql-test/t/index_merge_innodb.test mysql-test/t/innodb_explain_json_non_select_all.test mysql-test/t/innodb_explain_non_select_all.test mysql-test/t/innodb_explain_non_select_none.test mysql-test/t/mysql_client_test_embedded.test mysql-test/t/partition_exchange.test mysql-test/t/show_check.test mysql-test/t/sp-threads.test mysql-test/t/tablespace.test sql/binlog.cc sql/event_scheduler.cc sql/field.cc sql/field.h sql/field_conv.cc sql/global_threads.h sql/handler.cc sql/handler.h sql/item.cc sql/item.h sql/item_create.cc sql/item_func.cc sql/item_func.h sql/item_strfunc.cc sql/item_strfunc.h sql/item_subselect.cc sql/item_timefunc.h sql/item_xmlfunc.cc sql/lex.h sql/log.h sql/log_event.cc sql/mysqld.cc sql/mysqld.h sql/rpl_info_dummy.cc sql/rpl_info_dummy.h sql/rpl_info_factory.cc sql/rpl_info_factory.h sql/rpl_info_file.cc sql/rpl_info_file.h sql/rpl_info_handler.h sql/rpl_info_table.cc sql/rpl_info_table.h sql/rpl_master.cc sql/rpl_mi.cc sql/rpl_rli.cc sql/rpl_rli.h sql/rpl_rli_pdb.cc sql/rpl_rli_pdb.h sql/rpl_slave.cc sql/rpl_slave.h sql/scheduler.cc sql/share/errmsg-utf8.txt sql/signal_handler.cc sql/sp_head.cc sql/sql_analyse.cc sql/sql_base.cc sql/sql_class.cc sql/sql_class.h sql/sql_derived.cc sql/sql_executor.cc sql/sql_insert.cc sql/sql_lex.h sql/sql_optimizer.cc sql/sql_optimizer.h sql/sql_parse.cc sql/sql_partition_admin.cc sql/sql_plugin.cc sql/sql_reload.cc sql/sql_select.cc sql/sql_show.cc sql/sql_show.h sql/sql_string.h sql/sql_table.cc sql/sql_test.cc sql/sql_view.cc sql/sql_yacc.yy sql/sys_vars.cc sql/table.cc sql/unireg.cc storage/example/ha_example.cc storage/innobase/buf/buf0flu.cc storage/innobase/fts/fts0blex.cc storage/innobase/fts/fts0blex.l storage/innobase/fts/fts0que.cc storage/innobase/fts/fts0tlex.cc storage/innobase/fts/fts0tlex.l storage/innobase/handler/handler0alter.cc storage/innobase/log/log0recv.cc storage/myisam/ha_myisam.cc storage/ndb/compile-cluster storage/perfschema/pfs_check.cc unittest/gunit/alignment-t.cc unittest/gunit/fake_table.h unittest/gunit/field-t.cc unittest/gunit/field_timestamp-t.cc === modified file 'sql/rpl_info_file.cc' --- a/sql/rpl_info_file.cc 2012-04-11 16:52:28 +0000 +++ b/sql/rpl_info_file.cc 2012-04-18 13:33:46 +0000 @@ -197,38 +197,29 @@ int Rpl_info_file::do_reset_info(const i uint i= 0; struct st_my_dir *dir_info= NULL; struct fileinfo *file_info= NULL; - char dir_name[FN_REFLEN]; - size_t dir_size= 0; - char* file_name= NULL; - size_t file_size= 0; + const char* file_name= NULL; + size_t file_len= 0; int error= FALSE; - Rpl_info_file* info= NULL; DBUG_ENTER("Rpl_info_file::do_reset_info"); - if (!(info= new Rpl_info_file(nparam, param_info_fname))) + file_name= param_info_fname; + file_len= strlen(file_name); + if (!(dir_info= my_dir(mysql_data_home, MYF(MY_DONT_SORT)))) DBUG_RETURN(TRUE); - file_name= info->info_fname + dirname_part(dir_name, info->info_fname, &dir_size); - file_size= strlen(file_name); - - if (!(dir_info= my_dir(dir_name, MYF(MY_DONT_SORT)))) - { - delete info; - DBUG_RETURN(TRUE); - } - file_info= dir_info->dir_entry; for (i= dir_info->number_off_files ; i-- ; file_info++) { - if (!strncmp(file_info->name, file_name, file_size) && - strlen(file_info->name) == file_size && - my_delete(file_info->name, MYF(MY_WME))) - error= TRUE; + if (!strncmp(file_info->name, file_name, file_len)) + { + DBUG_PRINT("info", ("Deleting %s\n", file_info->name)); + if (my_delete(file_info->name, MYF(MY_WME))) + error= TRUE; + } } my_dirend(dir_info); - delete info; DBUG_RETURN(error); } No bundle (reason: useless for push emails).