Exceptions that happen before monitor release must be handled internally.
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Galera |
Confirmed
|
Medium
|
Alex Yurchenko | |||
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC | Status tracked in 5.6 | |||||
5.5 |
Invalid
|
Undecided
|
Unassigned | |||
5.6 |
New
|
Undecided
|
Unassigned |
Bug Description
...and either release/cancel the monitor or abort the process, as otherwise the caller has no ability to wake up and cancel remaining threads waiting to enter the monitor.
E.g. mysqld would hang with:
#0 0x00002b84b88fc2d4 in pthread_
#1 0x00000000005a3745 in inline_
#2 wsrep_wait_
#3 0x00000000005aea41 in wsrep_stop_
#4 0x00000000005ab627 in kill_server (sig_ptr=0x0) at /mnt/workspace/
#5 0x00000000005ab87e in kill_server_thread (arg=<optimized out>) at /mnt/workspace/
#6 0x0000000000af703a in pfs_spawn_thread (arg=0x38aab2d0) at /mnt/workspace/
#7 0x00002b84b88f7b50 in start_thread () from /lib/x86_
#8 0x00002b84ba43b0ed in clone () from /lib/x86_
#9 0x0000000000000000 in ?? ()
while slave threads would stay in:
#0 0x00002b84b88fc2d4 in pthread_
#1 0x00002b8540860a40 in galera:
#2 0x00002b8540854999 in galera:
#3 0x00002b854085c561 in galera:
#4 0x00002b85408375b9 in galera:
#5 0x00002b8540837a93 in galera:
#6 0x00002b8540856883 in galera:
#7 0x00002b854086b573 in galera_recv (gh=<optimized out>, recv_ctx=<optimized out>) at galera/
#8 0x00000000005baf2f in wsrep_replicati
#9 0x00000000005abc7e in start_wsrep_THD (arg=0x5baee0) at /mnt/workspace/
#10 0x00002b84b88f7b50 in start_thread () from /lib/x86_
#11 0x00002b84ba43b0ed in clone () from /lib/x86_
tags: | added: i38783 |
This should be fixed during 4.x refactoring.