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

index mutation race condition #146

Open
cyphar opened this issue Jul 17, 2017 · 0 comments
Open

index mutation race condition #146

cyphar opened this issue Jul 17, 2017 · 0 comments
Labels
Milestone

Comments

@cyphar
Copy link
Member

cyphar commented Jul 17, 2017

Due to the structure of v1.0.0-rc5-and-later images, any update to the index.json needs to be synchronised. We deal with the fundamental races by using rename(2) and temporary files, but because the new index.json needs to be updated with contents that are semantically based on the original, there are more complex races that can occur where changes made between a GetIndex and PutIndex are lost. Unforunately, it seems this might require some sort of transaction interface in oci/cas (which doesn't match the underlying structure).

flock(2) would be the internal solution for the dir driver, but I have to think about it some more.

@cyphar cyphar added this to the 0.4.0 milestone Jul 17, 2017
@cyphar cyphar added the oci/cas label Jul 17, 2017
@cyphar cyphar modified the milestones: 0.4.0, 0.5.0 Nov 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant