List:Commits« Previous MessageNext Message »
From:Alfranio Correia Date:December 14 2010 12:52pm
Subject:bzr commit into mysql-next-mr-wl5569 branch (alfranio.correia:3246) WL#5599
View as plain text  
#At file:///home/acorreia/workspace.sun/repository.mysql.new/bzrwork/wl-5569/mysql-next-mr-wl5569/ based on revid:alfranio.correia@stripped

 3246 Alfranio Correia	2010-12-14
      WL#5599
      
      Post-push fix.

    modified:
      mysql-test/r/mysqld--help-win.result
      mysql-test/suite/rpl/t/disabled.def
      mysql-test/suite/sys_vars/r/mts_checkpoint_period_basic.result
      sql/rpl_info.cc
      sql/rpl_info.h
      sql/rpl_rli.cc
      sql/rpl_slave.cc
=== modified file 'mysql-test/r/mysqld--help-win.result'
--- a/mysql-test/r/mysqld--help-win.result	2010-12-13 14:52:50 +0000
+++ b/mysql-test/r/mysqld--help-win.result	2010-12-14 12:51:30 +0000
@@ -270,6 +270,8 @@ The following options may be given as th
  If set to 1 table names are stored in lowercase on disk
  and table names will be case-insensitive.  Should be set
  to 2 if you are using a case insensitive file system
+ --master-info-engine=name 
+ The storage engine for the master info repository
  --master-info-file=name 
  The location and name of the file that remembers the
  master and where the I/O replication thread is in the
@@ -529,6 +531,8 @@ The following options may be given as th
  --relay-log=name    The location and name to use for relay logs
  --relay-log-index=name 
  File that holds the names for relay log files.
+ --relay-log-info-engine=name 
+ The storage engine for the relay info repository
  --relay-log-info-file=name 
  The location and name of the file that remembers where
  the SQL replication thread is in the relay logs
@@ -776,6 +780,8 @@ The following options may be given as th
  -V, --version       Output version information and exit.
  --wait-timeout=#    The number of seconds the server waits for activity on a
  connection before closing it
+ --worker-info-engine=name 
+ The storage engine for the worker info repository
  --worker-info-repository=name 
  Defines the type of the repository for the worker
  information.
@@ -866,6 +872,7 @@ log-warnings 1
 long-query-time 10
 low-priority-updates FALSE
 lower-case-table-names 1
+master-info-engine (No default value)
 master-info-file master.info
 master-info-repository FILE
 master-retry-count 86400
@@ -957,6 +964,7 @@ read-only FALSE
 read-rnd-buffer-size 262144
 relay-log (No default value)
 relay-log-index (No default value)
+relay-log-info-engine (No default value)
 relay-log-info-file relay-log.info
 relay-log-info-repository FILE
 relay-log-purge TRUE
@@ -1017,6 +1025,7 @@ transaction-prealloc-size 4096
 updatable-views-with-limit YES
 verbose TRUE
 wait-timeout 28800
+worker-info-engine (No default value)
 worker-info-repository FILE
 
 To see what values a running MySQL server is using, type

=== modified file 'mysql-test/suite/rpl/t/disabled.def'
--- a/mysql-test/suite/rpl/t/disabled.def	2010-12-13 21:16:31 +0000
+++ b/mysql-test/suite/rpl/t/disabled.def	2010-12-14 12:51:30 +0000
@@ -16,3 +16,4 @@ rpl_row_event_max_size    : Bug#55675 20
 rpl_delayed_slave         : Bug#57514 2010-11-09 andrei rpl_delayed_slave fails sporadically in pb
 rpl_log_pos               : BUG#55675 2010-09-10 alfranio rpl.rpl_log_pos fails sporadically with error binlog truncated in the middle
 rpl_trigger               : BUG#58258 2010-11-17 VasilDimov Valgrind: possibly lost from ib_bh_create()
+rpl_parallel_conf_limits  : wl#5599   9-12-2010 Andrei Waiting for the recovery wl

=== modified file 'mysql-test/suite/sys_vars/r/mts_checkpoint_period_basic.result'
--- a/mysql-test/suite/sys_vars/r/mts_checkpoint_period_basic.result	2010-12-13 21:16:31 +0000
+++ b/mysql-test/suite/sys_vars/r/mts_checkpoint_period_basic.result	2010-12-14 12:51:30 +0000
@@ -1,24 +1,24 @@
 SET @start_global_value = @@global.mts_checkpoint_period;
 SELECT @start_global_value;
 @start_global_value
-0
+300
 select @@global.mts_checkpoint_period;
 @@global.mts_checkpoint_period
-0
+300
 select @@session.mts_checkpoint_period;
 ERROR HY000: Variable 'mts_checkpoint_period' is a GLOBAL variable
 show global variables like 'mts_checkpoint_period';
 Variable_name	Value
-mts_checkpoint_period	0
+mts_checkpoint_period	300
 show session variables like 'mts_checkpoint_period';
 Variable_name	Value
-mts_checkpoint_period	0
+mts_checkpoint_period	300
 select * from information_schema.global_variables where variable_name='mts_checkpoint_period';
 VARIABLE_NAME	VARIABLE_VALUE
-MTS_CHECKPOINT_PERIOD	0
+MTS_CHECKPOINT_PERIOD	300
 select * from information_schema.session_variables where variable_name='mts_checkpoint_period';
 VARIABLE_NAME	VARIABLE_VALUE
-MTS_CHECKPOINT_PERIOD	0
+MTS_CHECKPOINT_PERIOD	300
 set global mts_checkpoint_period=1;
 select @@global.mts_checkpoint_period;
 @@global.mts_checkpoint_period
@@ -44,4 +44,4 @@ select @@global.mts_checkpoint_period;
 SET @@global.mts_checkpoint_period = @start_global_value;
 SELECT @@global.mts_checkpoint_period;
 @@global.mts_checkpoint_period
-0
+300

=== modified file 'sql/rpl_info.cc'
--- a/sql/rpl_info.cc	2010-12-13 15:57:01 +0000
+++ b/sql/rpl_info.cc	2010-12-14 12:51:30 +0000
@@ -42,18 +42,14 @@ void Rpl_info::set_rpl_info_handler(Rpl_
 }
 
 Rpl_info_coordinator::Rpl_info_coordinator(const char* type, const char* psf)
-  : Rpl_info(type)
+  : Rpl_info(type), mutex_info(0), cond_info(0), key_mutex_info(0),
+  key_cond_info(0)
 {
   register_mutexes(psf);
 }
 
 bool Rpl_info_coordinator::register_mutexes(const char* description)
 {
-  PSI_mutex_info *mutex_info= NULL;
-  PSI_cond_info *cond_info= NULL;
-  PSI_mutex_key *key_mutex_info= NULL;
-  PSI_cond_key *key_cond_info= NULL;
-
   const int NUMBER_MUTEX_INFO= 2;
   const int RUN_LOCK_IDX=   0;
   const int DATA_LOCK_IDX=  1;
@@ -118,8 +114,8 @@ err:
   if (mutex_info)
     delete []mutex_info;
 
-  if (mutex_info)
-    delete []mutex_info;
+  if (cond_info)
+    delete []cond_info;
 
   return (TRUE);
 }
@@ -135,6 +131,18 @@ Rpl_info_coordinator::~Rpl_info_coordina
     mysql_cond_destroy(&data_cond);
     mysql_cond_destroy(&start_cond);
     mysql_cond_destroy(&stop_cond);
+  
+    if (key_mutex_info)
+      delete []key_mutex_info;
+  
+    if (key_cond_info)
+      delete []key_cond_info;
+
+    if (mutex_info)
+      delete []mutex_info;
+
+    if (cond_info)
+      delete []cond_info;
   }
 
   DBUG_VOID_RETURN;

=== modified file 'sql/rpl_info.h'
--- a/sql/rpl_info.h	2010-12-08 01:30:32 +0000
+++ b/sql/rpl_info.h	2010-12-14 12:51:30 +0000
@@ -133,6 +133,11 @@ protected:
   bool register_mutexes(const char* description);
 
 private:
+  PSI_mutex_info *mutex_info;
+  PSI_cond_info *cond_info;
+  PSI_mutex_key *key_mutex_info;
+  PSI_cond_key *key_cond_info;
+
   Rpl_info_coordinator& operator=(const Rpl_info_coordinator& info);
   Rpl_info_coordinator(const Rpl_info_coordinator& info);
 };

=== modified file 'sql/rpl_rli.cc'
--- a/sql/rpl_rli.cc	2010-12-13 16:53:32 +0000
+++ b/sql/rpl_rli.cc	2010-12-14 12:51:30 +0000
@@ -64,7 +64,7 @@ Relay_log_info::Relay_log_info(bool is_s
    cur_log_old_open_count(0), group_relay_log_pos(0), event_relay_log_pos(0),
    group_master_log_pos(0), log_space_total(0), ignore_log_space_limit(0),
    last_master_timestamp(0), slave_skip_counter(0),
-   abort_pos_wait(0), until_condition(UNTIL_NONE),
+   abort_pos_wait(0), slave_exec_mode(0), until_condition(UNTIL_NONE),
    until_log_pos(0), retried_trans(0),
    tables_to_lock(0), tables_to_lock_count(0),
    rows_query_ev(NULL), last_event_start_time(0),

=== modified file 'sql/rpl_slave.cc'
--- a/sql/rpl_slave.cc	2010-12-13 21:16:31 +0000
+++ b/sql/rpl_slave.cc	2010-12-14 12:51:30 +0000
@@ -2794,8 +2794,6 @@ int apply_event_and_update_pos(Log_event
   if (!ev->when)
     ev->when= my_time(0);
   ev->thd = thd; // because up to this point, ev->thd == 0
-  if (!rli->is_in_group() && rli->slave_exec_mode != slave_exec_mode_options)
-    rli->slave_exec_mode= slave_exec_mode_options;
 
   int reason= ev->shall_skip(rli);
   if (reason == Log_event::EVENT_SKIP_COUNT)
@@ -3898,72 +3896,15 @@ bool mts_recovery_routine(Relay_log_info
                           "%s from pos %lu, maxsize %lu.", log_name,
                           (ulong) job.group_relay_log_pos, (ulong) s.st_size);
 
-    bool found= FALSE;
-    int res= 0;
     while ((ev= Log_event::read_log_event(&log, 0, &fdle,
             opt_master_verify_checksum)))
     {
       DBUG_ASSERT(ev->is_valid());
 
-      String buffer;
-      const char *db= ev->get_db();
-      
-      if (db != NULL)
-      {
-        buffer.set_int(strlen(db), FALSE, &my_charset_bin);
-        buffer.append(db);
-        found= job.db_ids->search_id(buffer.c_ptr_safe());
-      }
-
-      sql_print_information("Recovery relay log info. Event %s on db %s "
-                            "sets cursor to pos %lu and was handled by worker(%d).",
-                            ev->get_type_str(), db, (ulong) my_b_tell(&log),
-                            found);
-      if (!found)
-      {
-        delete ev;
-        ev= NULL;
-        break;
-      }
-
-      res= ev->apply_event(rli);
       delete ev;
       ev= NULL;
-
-      if (res)
-        goto end;
-    }
-    if (!found)
-    {
-      sql_print_information("Before updating RLI "
-                            "group_relay_log_name %s, "
-                            "group_relay_log_pos %lu, "
-                            "group_master_log_name %s, "
-                            "group_master_lo_pos %lu.",
-                            rli->get_group_relay_log_name(),
-                            (ulong) rli->get_group_relay_log_pos(),
-                            rli->get_group_master_log_name(),
-                            (ulong) rli->get_group_master_log_pos());
-
-      rli->set_event_relay_log_pos(job.group_relay_log_pos);
-      rli->set_event_relay_log_name(job.group_relay_log_name);
-      rli->set_group_relay_log_pos(job.group_relay_log_pos);
-      rli->set_group_relay_log_name(job.group_relay_log_name);
-      rli->set_group_master_log_pos(job.group_master_log_pos);
-      rli->set_group_master_log_name(job.group_master_log_name);
-
-      sql_print_information("After updating RLI "
-                            "group_relay_log_name %s, "
-                            "group_relay_log_pos %lu, "
-                            "group_master_log_name %s, "
-                            "group_master_lo_pos %lu.",
-                            rli->get_group_relay_log_name(),
-                            (ulong) rli->get_group_relay_log_pos(),
-                            rli->get_group_master_log_name(),
-                            (ulong) rli->get_group_master_log_pos());
     }
   }
-  error= init_recovery(rli->mi, &errmsg);
 
 end:
   if (desc)
@@ -4397,8 +4338,8 @@ pthread_handler_t handle_slave_sql(void 
      TODO: Alfranio, to settle invocation point. It's moved to possibly
      please an assert in the following block
   */
-  if (rli->is_parallel_exec() && mts_recovery_routine(rli))
-    goto err;
+  //if (rli->is_parallel_exec() && mts_recovery_routine(rli))
+  //  goto err;
 
 #ifndef DBUG_OFF
   {


Attachment: [text/bzr-bundle] bzr/alfranio.correia@oracle.com-20101214125130-lw14vs6tcnzj9gdi.bundle
Thread
bzr commit into mysql-next-mr-wl5569 branch (alfranio.correia:3246) WL#5599Alfranio Correia14 Dec