List:Commits« Previous MessageNext Message »
From:Magnus Svensson Date:May 7 2008 9:15am
Subject:Re: bk commit into 5.1 tree (aelkin:1.2612) BUG#36524
View as plain text  
Patch approved.

/ magnus

Andrei Elkin skrev:
> Below is the list of changes that have just been committed into a local
> 5.1 repository of aelkin.  When aelkin 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, 2008-05-06 21:52:05+03:00, aelkin@stripped +3 -0
>   Bug #36524 incident of deadlock on slave is overdramatized
>   
>   In cases of temporary errors of a replication event execution (deadlock, timeout)
>   the error log gained an overreacted error message whereas just a warning would be
> fine.
>   
>   Fixed with checking if an error is temporary at the end of execution events that
> prone to
>   temporary errors (Query_log_event, Rows_log_event).
> 
>   sql/log_event.cc@stripped, 2008-05-06 21:52:03+03:00, aelkin@stripped +8
> -6
>     Demoting a temprorary error such as deadlock into a warning to show in the error
> log.
> 
>   sql/slave.cc@stripped, 2008-05-06 21:52:03+03:00, aelkin@stripped +1 -1
>     exporting the function to be used in log_event.cc
> 
>   sql/slave.h@stripped, 2008-05-06 21:52:03+03:00, aelkin@stripped +1 -0
>     the function starts to be shared by log_event.cc as well.
> 
> diff -Nrup a/sql/log_event.cc b/sql/log_event.cc
> --- a/sql/log_event.cc	2008-04-02 13:36:30 +03:00
> +++ b/sql/log_event.cc	2008-05-06 21:52:03 +03:00
> @@ -2500,11 +2500,12 @@ Default database: '%s'. Query: '%s'",
>      */
>      else if (thd->is_slave_error || thd->is_fatal_error)
>      {
> -      rli->report(ERROR_LEVEL, actual_error,
> -                      "Error '%s' on query. Default database: '%s'. Query: '%s'",
> -                      (actual_error ? thd->main_da.message() :
> -                       "unexpected success or fatal error"),
> -                      print_slave_db_safe(thd->db), query_arg);
> +      rli->report(has_temporary_error(thd)? WARNING_LEVEL : ERROR_LEVEL,
> +                  actual_error,
> +                  "Error '%s' on query. Default database: '%s'. Query: '%s'",
> +                  (actual_error ? thd->main_da.message() :
> +                   "unexpected success or fatal error"),
> +                  print_slave_db_safe(thd->db), query_arg);
>        thd->is_slave_error= 1;
>      }
>  
> @@ -6723,7 +6724,8 @@ int Rows_log_event::do_apply_event(Relay
>    
>    if (error)
>    {                     /* error has occured during the transaction */
> -    slave_rows_error_report(ERROR_LEVEL, error, rli, thd, table,
> +    slave_rows_error_report(has_temporary_error(thd)? WARNING_LEVEL : ERROR_LEVEL,
> +                            error, rli, thd, table,
>                              get_type_str(), RPL_LOG_NAME, (ulong) log_pos);
>    }
>    if (error)
> diff -Nrup a/sql/slave.cc b/sql/slave.cc
> --- a/sql/slave.cc	2008-03-31 11:55:42 +03:00
> +++ b/sql/slave.cc	2008-05-06 21:52:03 +03:00
> @@ -1780,7 +1780,7 @@ int check_expected_error(THD* thd, Relay
>    that the error is temporary by pushing a warning with the error code
>    ER_GET_TEMPORARY_ERRMSG, if the originating error is temporary.
>  */
> -static int has_temporary_error(THD *thd)
> +int has_temporary_error(THD *thd)
>  {
>    DBUG_ENTER("has_temporary_error");
>  
> diff -Nrup a/sql/slave.h b/sql/slave.h
> --- a/sql/slave.h	2008-03-29 14:19:49 +02:00
> +++ b/sql/slave.h	2008-05-06 21:52:03 +03:00
> @@ -190,6 +190,7 @@ void set_slave_thread_default_charset(TH
>  void rotate_relay_log(Master_info* mi);
>  int apply_event_and_update_pos(Log_event* ev, THD* thd, Relay_log_info* rli,
>                                 bool skip);
> +inline int has_temporary_error(THD *thd);
>  
>  pthread_handler_t handle_slave_io(void *arg);
>  pthread_handler_t handle_slave_sql(void *arg);
> 

Thread
bk commit into 5.1 tree (aelkin:1.2612) BUG#36524Andrei Elkin6 May
  • Re: bk commit into 5.1 tree (aelkin:1.2612) BUG#36524Magnus Svensson7 May