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

rotation: deadlock fixes #2491

Merged
merged 3 commits into from
Jul 6, 2022
Merged

rotation: deadlock fixes #2491

merged 3 commits into from
Jul 6, 2022

Conversation

mastercactapus
Copy link
Member

Description:
This PR fixes a number of deadlock issues around rotations by introducing some rather aggressive locks.

This is necessary until we can remove the dependency on triggers that cause different locking orders resulting in deadlocks depending on what changes happen when.

Any changes to rotation participants or state (including deleting a user) now acquire locks on both rotation_participants and rotation_state first, in the same order, before being allowed to continue.

Additionally, a bug was fixed that prevented deleting a user if they were the last member of a rotation and currently active.

@mastercactapus mastercactapus merged commit 7b509a6 into master Jul 6, 2022
@mastercactapus mastercactapus deleted the rotation-deadlock-fix branch July 6, 2022 19:29
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

Successfully merging this pull request may close these issues.

3 participants