List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:April 18 2012 1:34pm
Subject:bzr push into mysql-trunk branch (andrei.elkin:3875 to 3876) Bug#13893310
View as plain text  
 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).
Thread
bzr push into mysql-trunk branch (andrei.elkin:3875 to 3876) Bug#13893310Andrei Elkin20 Apr