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

CreateVolume with snapshot volume source races with DeleteSnapshot #493

Open
gman0 opened this issue Oct 8, 2021 · 1 comment
Open

CreateVolume with snapshot volume source races with DeleteSnapshot #493

gman0 opened this issue Oct 8, 2021 · 1 comment

Comments

@gman0
Copy link

gman0 commented Oct 8, 2021

DeleteSnapshot may be called while that snapshot is in use as a volume source in a concurrent CreateVolume call, creating a race condition.

COs should be instructed how to deal with various situations when these two calls interact. Specifically, CO must block all CreateVolume calls with a snapshot volume source while that snapshot is being deleted, and vice versa - it must block all DeleteSnapshot calls while that snapshot is being used as a volume source in a CreateVolume call.

Is this something that belongs to the CSI spec? The snapshot controller in Kubernetes already does this, and attempting to delete such snapshots defers their deletion until the CreateVolume call(s) in question finish processing the request. I think it would be best to make this (or similar) behavior official by having it stated explicitly in the spec.

@jdef
Copy link
Member

jdef commented Oct 8, 2021 via email

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

2 participants