List:Commits« Previous MessageNext Message »
From:Mats Kindahl Date:March 4 2008 2:32pm
Subject:Re: bk commit into 5.0 tree (ramil:1.2576) BUG#31024
View as plain text  
ramil@stripped wrote:
> Below is the list of changes that have just been committed into a local
> 5.0 repository of ramil.  When ramil 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-02-27 16:40:28+04:00, ramil@stripped +1 -0
>   Fix for bug #31024: STOP SLAVE does not stop attempted connect()s
>   
>   Problem: if the IO slave thread is attempting to connect,
>   STOP SLAVE waits for the attempt to finish. 
>   It might take too long.
>   
>   Fix: don't wait, stop the slave immediately.
>   
>
>   sql/sql_repl.h@stripped, 2008-02-27 16:40:26+04:00, ramil@stripped +1 -0
>     Fix for bug #31024: STOP SLAVE does not stop attempted connect()s
>       - send a singnal to the (connecting) slave IO thread in a loop,
>     breaking current socket(), connect(), poll() etc. calls,
>     that makes further thd->awake() call effective.
>
> diff -Nrup a/sql/sql_repl.h b/sql/sql_repl.h
> --- a/sql/sql_repl.h	2006-12-31 00:02:07 +04:00
> +++ b/sql/sql_repl.h	2008-02-27 16:40:26 +04:00
> @@ -37,6 +37,7 @@ extern my_bool opt_sporadic_binlog_dump_
>  
>  #define KICK_SLAVE(thd) do {                                            \
>                            pthread_mutex_lock(&(thd)->LOCK_delete);      \
> +                          pthread_kill(thd->real_id, thr_client_alarm); \
>   

The other use of thr_client_alarm is protected by the pre-processor 
symbol DONT_USE_THR_ALARM, so that should be used here as well.

Make sure that the case when pthread_kill() returns non-zero is handled 
by awake() and add a comment explaining why it is safe to ignore the 
return value (or not).


>                            (thd)->awake(THD::NOT_KILLED);                \
>                            pthread_mutex_unlock(&(thd)->LOCK_delete);    \
>                          } while(0)
>
>   

Just my few cents,
Mats Kindahl

-- 
Mats Kindahl
Lead Software Developer
Replication Team
MySQL AB, www.mysql.com


Thread
bk commit into 5.0 tree (ramil:1.2576) BUG#31024ramil27 Feb
  • Re: bk commit into 5.0 tree (ramil:1.2576) BUG#31024Mats Kindahl4 Mar