deadlock between PurgeAndDiscard() and apply_trx()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Galera |
Fix Released
|
High
|
Teemu Ollakka | ||
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Galera provider may deadlock if applier thread is still executing apply_trx() while processing commit cut causes corresponding trx to be purged from cert index. Threads try to lock cert index and trx in different order.
Thread backtraces:
Thread 28 (Thread 0x7f995d2ef700 (LWP 27500)):
#0 0x00007fb6c447389c in __lll_lock_wait () from
/lib/x86_
#1 0x00007fb6c446f065 in _L_lock_858 () from
/lib/x86_
#2 0x00007fb6c446eeba in pthread_mutex_lock () from
/lib/x86_
#3 0x00007fb6c24d6457 in gu::Lock:
/usr/lib/
#4 0x00007fb6c25e7300 in galera:
galera::TrxHandle*) () from /usr/lib/
#5 0x00007fb6c25e77c5 in galera:
galera::TrxHandle*) () from /usr/lib/
#6 0x00007fb6c25be124 in galera:
gcs_action const&) () from /usr/lib/
#7 0x00007fb6c25be39a in galera:
from /usr/lib/
#8 0x00007fb6c25df175 in galera:
from /usr/lib/
#9 0x00007fb6c25f6f93 in galera_recv () from
/usr/lib/
#10 0x00007fb6c5ab1ab1 in wsrep_replicati
#11 0x00007fb6c5a2d71b in start_wsrep_THD ()
#12 0x00007fb6c446ce9a in start_thread () from
/lib/x86_
#13 0x00007fb6c3b9acbd in clone () from /lib/x86_
#14 0x0000000000000000 in ?? ()
Thread 21 (Thread 0x7f99d88eb700 (LWP 27507)):
#0 0x00007fb6c447389c in __lll_lock_wait () from
/lib/x86_
#1 0x00007fb6c446f065 in _L_lock_858 () from
/lib/x86_
#2 0x00007fb6c446eeba in pthread_mutex_lock () from
/lib/x86_
#3 0x00007fb6c25b9c4d in
galera:
galera:
#4 0x00007fb6c25b429c in galera:
() from /usr/lib/
#5 0x00007fb6c25de292 in
galera:
/usr/lib/
#6 0x00007fb6c25be161 in galera:
gcs_action const&) () from /usr/lib/
#7 0x00007fb6c25be39a in galera:
from /usr/lib/
#8 0x00007fb6c25df175 in galera:
from /usr/lib/
#9 0x00007fb6c25f6f93 in galera_recv () from
/usr/lib/
#10 0x00007fb6c5ab1ab1 in wsrep_replicati
#11 0x00007fb6c5a2d71b in start_wsrep_THD ()
#12 0x00007fb6c446ce9a in start_thread () from
/lib/x86_
#13 0x00007fb6c3b9acbd in clone () from /lib/x86_
#14 0x0000000000000000 in ?? ()
Related branches
Changed in galera: | |
milestone: | none → 23.2.6 |
assignee: | nobody → Teemu Ollakka (teemu-ollakka) |
Changed in percona-xtradb-cluster: | |
milestone: | none → 5.5.31-24.8 |
Changed in galera: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in percona-xtradb-cluster: | |
status: | New → Fix Released |
Changed in galera: | |
status: | Fix Committed → Fix Released |
Potential fix committed in r152