-
Notifications
You must be signed in to change notification settings - Fork 91
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
CP-39600: Rework LVM locking to use fair lock queue #658
CP-39600: Rework LVM locking to use fair lock queue #658
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor changes, and the tests need fixing to work properly.
9bc8953
to
bd54b9f
Compare
bd54b9f
to
a85df50
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only serious thing was that I think I saw a potential race condition in LockQueue's constructor, which looks like it could be readily fixed with the queue lock.
2ec3127
to
28ba68c
Compare
28ba68c
to
a32f13d
Compare
This is intended to prevent a storm of later LVM commands from usurping the lock that an earlier command is waiting for, just because they happened to manage to start waiting before the original holder was done. In some pathalogical circumstances, this has been known to result in a commant taking many minutes to get the lock. Signed-off-by: Tim Smith <tim.smith@cloud.com>
a32f13d
to
ffae900
Compare
This is intended to prevent a storm of later LVM commands from usurping the lock that an earlier command is waiting for, just because they happened to manage to start waiting before the original holder was done.
In some pathalogical circumstances, this has been known to result in a commant taking many minutes to get the lock.