List:Commits« Previous MessageNext Message »
From:Alexey Kopytov Date:June 22 2007 10:08am
Subject:bk commit into 5.0 tree (kaa:1.2470) BUG#24192
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of kaa. When kaa does a push these changes will
be propagated 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://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-06-22 14:08:22+04:00, kaa@stripped +1 -0
  Fix for bug #24192 "MySQL replication does not exit server when running out of memory"
  
  In case of out-of-memory error received from the master, print the corresponding message to the error log and stop slave I/O thread to avoid reconnecting with a wrong binary log position.

  sql/slave.cc@stripped, 2007-06-22 14:08:12+04:00, kaa@stripped +17 -13
    In case of out-of-memory error received from the master, print the corresponding message to the error log and stop slave I/O thread to avoid reconnecting with a wrong binary log position.

# 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:	kaa
# Host:	polly.local
# Root:	/home/kaa/src/maint/bug24192/my50-bug24192

--- 1.298/sql/slave.cc	2007-04-20 12:35:22 +04:00
+++ 1.299/sql/slave.cc	2007-06-22 14:08:12 +04:00
@@ -26,6 +26,7 @@
 #include <my_dir.h>
 #include <sql_common.h>
 #include <errmsg.h>
+#include <mysys_err.h>
 
 #define MAX_SLAVE_RETRY_PAUSE 5
 bool use_slave_mask = 0;
@@ -3610,22 +3611,25 @@ after reconnect");
 
       if (event_len == packet_error)
       {
-	uint mysql_error_number= mysql_errno(mysql);
-	if (mysql_error_number == CR_NET_PACKET_TOO_LARGE)
-	{
-	  sql_print_error("\
+        uint mysql_error_number= mysql_errno(mysql);
+        switch (mysql_error_number) {
+        case CR_NET_PACKET_TOO_LARGE:
+          sql_print_error("\
 Log entry on master is longer than max_allowed_packet (%ld) on \
 slave. If the entry is correct, restart the server with a higher value of \
 max_allowed_packet",
-			  thd->variables.max_allowed_packet);
-	  goto err;
-	}
-	if (mysql_error_number == ER_MASTER_FATAL_ERROR_READING_BINLOG)
-	{
-	  sql_print_error(ER(mysql_error_number), mysql_error_number,
-			  mysql_error(mysql));
-	  goto err;
-	}
+                          thd->variables.max_allowed_packet);
+          goto err;
+        case ER_MASTER_FATAL_ERROR_READING_BINLOG:
+          sql_print_error(ER(mysql_error_number), mysql_error_number,
+                          mysql_error(mysql));
+          goto err;
+        case EE_OUTOFMEMORY:
+        case ER_OUTOFMEMORY:
+          sql_print_error("\
+Stopping slave I/O thread due to out-of-memory error from master");
+          goto err;
+        }
         mi->slave_running= MYSQL_SLAVE_RUN_NOT_CONNECT;
 	thd->proc_info = "Waiting to reconnect after a failed master event read";
 #ifdef SIGNAL_WITH_VIO_CLOSE
Thread
bk commit into 5.0 tree (kaa:1.2470) BUG#24192Alexey Kopytov22 Jun
  • Re: bk commit into 5.0 tree (kaa:1.2470) BUG#24192Rafal Somla28 Jun