Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deadlock with high-priority transaction waiting for commit order #83

Open
temeo opened this issue Feb 18, 2019 · 0 comments
Open

Deadlock with high-priority transaction waiting for commit order #83

temeo opened this issue Feb 18, 2019 · 0 comments
Assignees

Comments

@temeo
Copy link
Contributor

temeo commented Feb 18, 2019

This was observed during multimaster testing: Two high priority transactions T1 and T2. The T1 which was ordered first faced a lock conflict due to asymmetric locking and had to check the state of T2. However, T2 had already called provider::commit_order_enter() without releasing the mutex. Because T2 could not proceed as it was ordered after T1 which was trying to acquire T2 mutex, deadlock occurred.

@temeo temeo self-assigned this Feb 18, 2019
temeo added a commit that referenced this issue Feb 18, 2019
A high priority transaction T2 which calls commit_order_enter() with
client_state mutex locked may cause a deadlock if an another high
priority transaction T1 ordered before tries to access the transaction
T2 state.

As a fix, make sure that commit_order_enter() is never called with
client_state mutex locked.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant