Boxes: Use temporary lock file to prevent early unregister#244
Merged
legal90 merged 4 commits intoParallels:masterfrom Jan 13, 2016
Merged
Boxes: Use temporary lock file to prevent early unregister#244legal90 merged 4 commits intoParallels:masterfrom
legal90 merged 4 commits intoParallels:masterfrom
Conversation
Following the RFC 4122, there should not be any brackets in UUID string
…race In parallel run of multi-machine environment the same box image could be cloning simultaneously by more then one envs. So, the box should be unregister by the latest env. To prevent a race condition here, we add a temporary lease file with a counter. It is incremented for incoming envs (new clones) and decremented after the cloning. The last env removes the lock file and unregisters the box. Fixes ParallelsGH-243
It guarantees that counter is written on the disk and IO buffer is flushed.
…s to box lease file
legal90
added a commit
that referenced
this pull request
Jan 13, 2016
Boxes: Use temporary lock file to prevent early unregister
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes GH-243
In parallel run of multi-machine environment the same box image could be cloning
simultaneously by more then one envs. But the box should be unregister exactly by the last env.
To prevent a race condition here, we add a temporary lease file with a counter.
It is incremented for incoming envs (new clones) and decremented right after the cloning.
The last env removes the lock file and unregisters the box.
cc: @racktear @Gray-Wind @Kasen