[MDEV-4185] Galera: Server hangs in terminate_slave_thread attempting to stop traditional slave Created: 2013-02-19  Updated: 2013-02-21  Resolved: 2013-02-21

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.5.29-galera

Type: Bug Priority: Critical
Reporter: Elena Stepanova Assignee: Seppo Jaakola
Resolution: Fixed Votes: 0
Labels: None

Attachments: File threads.slave    
Issue Links:
PartOf

 Description   

With the traditional replication setup using the server code from maria-5.5-galera, STOP SLAVE hangs.

revision-id: seppo.jaakola@codership.com-20130216222240-syypg8kc355qcpsp
revno: 3380
branch-nick: maria-5.5-galera

It seems to be a regression from the previous revision 3379.

Strack trace from the thread executing STOP SLAVE:

Thread 3 (Thread 0x7f56b4074700 (LWP 4284)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1  0x0000000000cfcb90 in safe_cond_timedwait (cond=0x4111ca8, mp=0x4111b20, abstime=0x7f56b4072780, file=0xd5d950 "maria-5.5-galera/sql/slave.cc", line=661) at maria-5.5-galera/mysys/thr_mutex.c:547
#2  0x0000000000583788 in inline_mysql_cond_timedwait (that=0x4111ca8, mutex=0x4111b20, abstime=0x7f56b4072780, src_file=0xd5d950 "maria-5.5-galera/sql/slave.cc", src_line=661) at maria-5.5-galera/include/mysql/psi/mysql_thread.h:1018
#3  0x0000000000584e5e in terminate_slave_thread (thd=0x7f5678001430, term_lock=0x4111b20, term_cond=0x4111ca8, slave_running=0x41124b0, skip_lock=true) at maria-5.5-galera/sql/slave.cc:661
#4  0x0000000000584840 in terminate_slave_threads (mi=0x410e830, thread_mask=3, skip_lock=true) at maria-5.5-galera/sql/slave.cc:510
#5  0x00000000006487da in stop_slave (thd=0x4198450, mi=0x410e830, net_report=true) at maria-5.5-galera/sql/sql_repl.cc:1393
#6  0x000000000061a5fa in mysql_execute_command (thd=0x4198450) at maria-5.5-galera/sql/sql_parse.cc:2986
#7  0x0000000000624da9 in mysql_parse (thd=0x4198450, rawbuf=0x7f56740063c8 "STOP SLAVE", length=10, parser_state=0x7f56b4073500) at maria-5.5-galera/sql/sql_parse.cc:6304
#8  0x0000000000623e70 in wsrep_mysql_parse (thd=0x4198450, rawbuf=0x7f56740063c8 "STOP SLAVE", length=10, parser_state=0x7f56b4073500) at maria-5.5-galera/sql/sql_parse.cc:6069
#9  0x0000000000616335 in dispatch_command (command=COM_QUERY, thd=0x4198450, packet=0x419c131 "STOP SLAVE", packet_length=10) at maria-5.5-galera/sql/sql_parse.cc:1245
#10 0x0000000000615114 in do_command (thd=0x4198450) at maria-5.5-galera/sql/sql_parse.cc:891
#11 0x000000000071ddd7 in do_handle_one_connection (thd_arg=0x4198450) at maria-5.5-galera/sql/sql_connect.cc:1291
#12 0x000000000071d7af in handle_one_connection (arg=0x4198450) at maria-5.5-galera/sql/sql_connect.cc:1199
#13 0x0000000000ab84c4 in pfs_spawn_thread (arg=0x413e250) at maria-5.5-galera/storage/perfschema/pfs.cc:1015
#14 0x00007f56c0c99e9a in start_thread (arg=0x7f56b4074700) at pthread_create.c:308
#15 0x00007f56c03cacbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()

All threads stack trace is attached.

MTR test case:

--source include/master-slave.inc
--connection slave
STOP SLAVE;



 Comments   
Comment by Seppo Jaakola [ 2013-02-21 ]

This is a regression, indeed. Thread terminating was blocked for other than non wsrep threads.
Fix pushed in revision: bazaar.launchpad.net/~maria-captains/maria/maria-5.5-galera/revision/3381

Comment by Seppo Jaakola [ 2013-02-21 ]

Fix pushed in: http://bazaar.launchpad.net/~maria-captains/maria/maria-5.5-galera/revision/3381

Generated at Thu Feb 08 06:54:27 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.