mirror of
https://github.com/codership/wsrep-lib.git
synced 2026-10-23 09:48:57 +03:00
Release high prio client mutex before commit order wait
High priority transaction did not release mutex before going into commit order wait. This allowed a deadlock if an applier tried to access transaction state while the thread was in commit order wait. As a fix, unlock client mutex before calling commit_order_enter().
This commit is contained in:
@@ -437,7 +437,9 @@ int wsrep::transaction::before_commit()
|
||||
{
|
||||
ret = 0;
|
||||
}
|
||||
lock.unlock();
|
||||
ret = ret || provider().commit_order_enter(ws_handle_, ws_meta_);
|
||||
lock.lock();
|
||||
if (ret)
|
||||
{
|
||||
state(lock, s_must_abort);
|
||||
|
||||
Reference in New Issue
Block a user