Commit 467c4814 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/space/bkroot/mysql-4.0

into mysql.com:/space/bk/b6148-mysql-4.0


BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
parents 55ea7c8b 6f2cf12a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ kostja@oak.local
lenz@kallisto.mysql.com
lenz@mysql.com
marko@hundin.mysql.fi
mats@mysql.com
matt@mysql.com
miguel@hegel.(none)
miguel@hegel.br
+12 −0
Original line number Diff line number Diff line
slave stop;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
slave start;
stop slave;
create table t1(n int);
start slave;
stop slave io_thread;
start slave io_thread;
drop table t1;
+34 −0
Original line number Diff line number Diff line
source include/master-slave.inc;

#
# Bug#6148 ()
#
connection slave;
stop slave;

# Let the master do lots of insertions
connection master;
create table t1(n int);
let $1=5000;
disable_query_log;
while ($1)
{
 eval insert into t1 values($1);
 dec $1;
}
enable_query_log;
save_master_pos;

connection slave;
start slave;
sleep 1;
stop slave io_thread;
start slave io_thread;
sync_with_master;

connection master;
drop table t1;
save_master_pos;

connection slave;
sync_with_master;
+2 −1
Original line number Diff line number Diff line
@@ -892,7 +892,8 @@ int load_master_data(THD* thd)
          setting active_mi, because init_master_info() sets active_mi with
          defaults.
        */
        if (init_master_info(active_mi, master_info_file, relay_log_info_file, 0))
        if (init_master_info(active_mi, master_info_file, relay_log_info_file, 
			     0, (SLAVE_IO | SLAVE_SQL)))
          send_error(&thd->net, ER_MASTER_INFO);
	strmake(active_mi->master_log_name, row[0],
		sizeof(active_mi->master_log_name));
+11 −3
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ int init_slave()
  }
    
  if (init_master_info(active_mi,master_info_file,relay_log_info_file,
		       !master_host))
		       !master_host, (SLAVE_IO | SLAVE_SQL)))
  {
    sql_print_error("Failed to initialize the master info structure");
    goto err;
@@ -1616,7 +1616,8 @@ void clear_last_slave_error(RELAY_LOG_INFO* rli)

int init_master_info(MASTER_INFO* mi, const char* master_info_fname,
		     const char* slave_info_fname,
		     bool abort_if_no_master_info_file)
		     bool abort_if_no_master_info_file,
		     int thread_mask)
{
  int fd,error;
  char fname[FN_REFLEN+128];
@@ -1630,8 +1631,15 @@ int init_master_info(MASTER_INFO* mi, const char* master_info_fname,
      last time. If this case pos_in_file would be set and we would
      get a crash when trying to read the signature for the binary
      relay log.
      
      We only rewind the read position if we are starting the SQL
      thread. The handle_slave_sql thread assumes that the read
      position is at the beginning of the file, and will read the
      "signature" and then fast-forward to the last position read.
    */
    if (thread_mask & SLAVE_SQL) {
      my_b_seek(mi->rli.cur_log, (my_off_t) 0);
    }
    DBUG_RETURN(0);
  }

Loading