List:Internals« Previous MessageNext Message »
From:sasha Date:January 29 2002 8:50pm
Subject:bk commit into 4.0 tree
View as plain text  
Below is the list of changes that have just been committed into a
4.0 repository of sasha. When sasha does a push, they will be propogated to 
the main repository and within 24 hours after the push to the public repository. 
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html

ChangeSet@stripped, 2002-01-29 13:50:09-07:00, sasha@stripped
  temporary commit - need to pull Monty's changes

  mysys/mf_iocache.c
    1.20 02/01/29 13:50:09 sasha@stripped +1 -0
    fixed one bug in IO_CACHE but there is another one not fixed yet

  sql/slave.cc
    1.150 02/01/29 13:50:09 sasha@stripped +1 -1
    fixed bug in 3.23 master replication

  mysql-test/t/rpl000001.test
    1.25 02/01/29 13:50:08 sasha@stripped +20 -3
    modified test to break current replicatioin on a large log with a large lag 
    in slave thread between append and read of the relay log

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	sasha
# Host:	mysql.sashanet.com
# Root:	/reiser-data/mysql-4.0

--- 1.19/mysys/mf_iocache.c	Sat Jan 26 22:26:22 2002
+++ 1.20/mysys/mf_iocache.c	Tue Jan 29 13:50:09 2002
@@ -823,6 +823,7 @@
     }
     Count-=length;
     Buffer+=length;
+    info->end_of_file+=length;
   }
 
 end:

--- 1.149/sql/slave.cc	Sat Jan 26 22:26:22 2002
+++ 1.150/sql/slave.cc	Tue Jan 29 13:50:09 2002
@@ -1999,7 +1999,7 @@
     mi->master_log_pos += event_len;
   if (unlikely(processed_stop_event))
     mi->ignore_stop_event=1;
-  pthread_mutex_lock(&mi->data_lock);
+  pthread_mutex_unlock(&mi->data_lock);
   return 0;
 }
 

--- 1.24/mysql-test/t/rpl000001.test	Mon Nov 26 17:33:10 2001
+++ 1.25/mysql-test/t/rpl000001.test	Tue Jan 29 13:50:08 2002
@@ -27,21 +27,38 @@
 connection master;
 reset master;
 connection slave;
+slave stop;
 reset slave;
 
 connection master;
 drop table if exists t1,t2;
 create table t1(n int);
-let $1=10;
+#we want the log to exceed 16K to test deal with the log that is bigger than
+#IO_SIZE
+let $1=5000;
+disable_query_log;
 while ($1)
 {
- eval insert into t1 values($1);
+ eval insert into t1 values($1+get_lock("hold_slave",10)*0);
  dec $1;
 }
+enable_query_log;
+
+#try to cause a large relay log lag on the slave 
+connection slave;
+select get_lock("hold_slave",10);
+slave start;
+#hope this is long enough for I/O thread to fetch over 16K relay log data
+sleep 1;
+select release_lock("hold_slave");
+unlock tables;
+
+connection master;
 create table t2(id int);
 insert into t2 values(connection_id());
 save_master_pos;
 
+
 connection master1;
 #avoid generating result
 create temporary table t1_temp(n int);
@@ -60,7 +77,7 @@
 connection slave;
 sync_with_master ;
 #give the slave a chance to exit
-sleep 0.5;
+wait_for_slave_to_stop;
 
 # The following test can't be done because the result of Pos will differ
 # on different computers
Thread
bk commit into 4.0 treesasha29 Jan