List:Commits« Previous MessageNext Message »
From:Alfranio Correia Date:June 29 2009 10:44am
Subject:bzr commit into mysql-pe branch (alfranio.correia:3409) WL#4856
View as plain text  
#At file:///home/acorreia/workspace.sun/repository.mysql/bzrwork/wl-4858/mysql-6.0-bugteam-push/ based on revid:davi.arnaut@stripped

 3409 Alfranio Correia	2009-06-29
      Rep: Testing failure injection WL#4856.

    modified:
      sql/rpl_mi_file.cc
      sql/rpl_rli.cc
      sql/rpl_rli_file.cc
      sql/slave.cc
=== modified file 'sql/rpl_mi_file.cc'
--- a/sql/rpl_mi_file.cc	2009-04-02 16:14:14 +0000
+++ b/sql/rpl_mi_file.cc	2009-06-29 10:44:27 +0000
@@ -58,9 +58,15 @@ Master_info_file::Master_info_file(const
 int Master_info_file::do_check()
 {
   char fname[FN_REFLEN+128];
+
+  DBUG_ENTER("Master_info_file::do_check");
+
+  if (DBUG_EVALUATE_IF("Master_info_file::do_check_fault_injection", 1, 0))
+    DBUG_RETURN(1);
+
   fn_format(fname, info_fname, mysql_data_home, "", 4+32);
 
-  return (access(fname,F_OK));
+  DBUG_RETURN(access(fname,F_OK));
 }
 
 int Master_info_file::do_init_info()
@@ -69,6 +75,9 @@ int Master_info_file::do_init_info()
   char fname[FN_REFLEN+128];
   DBUG_ENTER("Master_info_file::do_init_info");
 
+  if (DBUG_EVALUATE_IF("Master_info_file::do_init_info_fault_injection", 1, 0))
+    DBUG_RETURN(1);
+
   mysql= 0;
   file_id= 1;
   fn_format(fname, info_fname, mysql_data_home, "", 4+32);
@@ -278,6 +287,9 @@ int Master_info_file::do_flush_info()
   DBUG_ENTER("Master_info_file::do_flush_info");
   DBUG_PRINT("enter",("master_pos: %ld", (long) master_log_pos));
 
+  if (DBUG_EVALUATE_IF("Master_info_file::do_flush_info_fault_injection", 1, 0))
+    DBUG_RETURN(1);
+
   /*
      In certain cases this code may create master.info files that seems
      corrupted, because of extra lines filled with garbage in the end

=== modified file 'sql/rpl_rli.cc'
--- a/sql/rpl_rli.cc	2009-05-21 09:00:52 +0000
+++ b/sql/rpl_rli.cc	2009-06-29 10:44:27 +0000
@@ -965,6 +965,9 @@ int Relay_log_info::init_info(bool abort
 
   DBUG_ENTER("Relay_log_info::init_info");
 
+  if (DBUG_EVALUATE_IF("Relay_log_info::init_info_fault_injection", 1, 0))
+    DBUG_RETURN(1);
+
   if (abort_if_no_info && do_check())
     DBUG_RETURN(error);
 

=== modified file 'sql/rpl_rli_file.cc'
--- a/sql/rpl_rli_file.cc	2009-04-02 16:14:14 +0000
+++ b/sql/rpl_rli_file.cc	2009-06-29 10:44:27 +0000
@@ -42,9 +42,15 @@ Relay_log_info_file::Relay_log_info_file
 int Relay_log_info_file::do_check()
 {
   char fname[FN_REFLEN+128];
+
+  DBUG_ENTER("Relay_log_info_file::do_check");
+
+  if (DBUG_EVALUATE_IF("Relay_log_info_file::do_check_fault_injection", 1, 0))
+    DBUG_RETURN(1);
+
   fn_format(fname, info_fname, mysql_data_home, "", 4+32);
 
-  return (access(fname,F_OK));
+  DBUG_RETURN(access(fname,F_OK));
 }
 
 int Relay_log_info_file::do_init_info()
@@ -55,6 +61,9 @@ int Relay_log_info_file::do_init_info()
   DBUG_ENTER("Relay_log_info_file::do_init_info");
   DBUG_ASSERT(!no_storage);         // Don't init if there is no storage
 
+  if (DBUG_EVALUATE_IF("Relay_log_info_file::do_init_info_fault_injection", 1, 0))
+    DBUG_RETURN(1);
+
   fn_format(fname, info_fname, mysql_data_home, "", 4+32);
 
   /* if file does not exist */

=== modified file 'sql/slave.cc'
--- a/sql/slave.cc	2009-06-25 23:28:42 +0000
+++ b/sql/slave.cc	2009-06-29 10:44:27 +0000
@@ -364,6 +364,9 @@ int init_info(Master_info* mi, bool abor
 
   DBUG_ENTER("init_info");
   DBUG_ASSERT(mi != NULL && mi->rli != NULL);
+
+  if (DBUG_EVALUATE_IF("init_info_fault_injection", 1, 0))
+    DBUG_RETURN(1);
   
   /*
     We need a mutex while we are changing master info parameters to
@@ -375,7 +378,7 @@ int init_info(Master_info* mi, bool abor
   /*
     This takes care of the startup dependency between the master_info
     and relay_info. If a user wants to start just the SLAVE_IO Thread 
-    but the SLAVE_SQL is not properly configure it.
+    but the SLAVE_SQL is not properly configured, we need to do so.
 
     In the future, we should try to improve this by making the
     init_info idempotent.
@@ -564,6 +567,9 @@ int terminate_slave_threads(Master_info*
 {
   DBUG_ENTER("terminate_slave_threads");
 
+  if (DBUG_EVALUATE_IF("terminate_slave_threads_fault_injection", 1, 0))
+    DBUG_RETURN(ER_SLAVE_NOT_RUNNING);
+
   if (!mi->inited)
     DBUG_RETURN(0); /* successfully do nothing */
   int error,force_all = (thread_mask & SLAVE_FORCE_ALL);
@@ -636,6 +642,10 @@ terminate_slave_thread(THD *thd,
                        bool skip_lock)
 {
   DBUG_ENTER("terminate_slave_thread");
+
+  if (DBUG_EVALUATE_IF("terminate_slave_thread_fault_injection", 1, 0))
+    DBUG_RETURN(ER_SLAVE_NOT_RUNNING);
+
   if (!skip_lock)
   {
     pthread_mutex_lock(term_lock);
@@ -715,6 +725,9 @@ int start_slave_thread(pthread_handler h
   ulong start_id;
   DBUG_ENTER("start_slave_thread");
 
+  if (DBUG_EVALUATE_IF("start_slave_thread_fault_injection", 1, 0))
+    DBUG_RETURN(ER_MASTER_INFO);
+
   DBUG_ASSERT(mi->inited);
 
   if (start_lock)
@@ -787,6 +800,9 @@ int start_slave_threads(bool need_slave_
   int error=0;
   DBUG_ENTER("start_slave_threads");
 
+  if (DBUG_EVALUATE_IF("start_slave_threads_fault_injection", 1, 0))
+    DBUG_RETURN(ER_MASTER_INFO);
+
   if (need_slave_mutex)
   {
     lock_io = &mi->run_lock;


Attachment: [text/bzr-bundle]
Thread
bzr commit into mysql-pe branch (alfranio.correia:3409) WL#4856Alfranio Correia29 Jun