List:Commits« Previous MessageNext Message »
From:Rafal Somla Date:June 28 2007 9:48am
Subject:Re: bk commit into 5.0 tree (kaa:1.2470) BUG#24192
View as plain text  
Hi Alexy,

The patch correctly aborts I/O thread when OOM error is detected. Good to push.

Rafal

Alexey Kopytov wrote:
> 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