Skip to content

Serialize controller operations on the same volume #307

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

Closed
msau42 opened this issue Jun 20, 2019 · 5 comments · Fixed by #316
Closed

Serialize controller operations on the same volume #307

msau42 opened this issue Jun 20, 2019 · 5 comments · Fixed by #316
Labels
kind/bug Categorizes issue or PR as related to a bug.

Comments

@msau42
Copy link
Contributor

msau42 commented Jun 20, 2019

ie attach and detach should not be allowed to occur in parallel for the same volume

cc @davidz627

@msau42
Copy link
Contributor Author

msau42 commented Jun 20, 2019

I haven't thought much about if all of the controller operations, ie create/delete/expand also all need to be serialized together.

@msau42
Copy link
Contributor Author

msau42 commented Jun 20, 2019

/kind bug

@k8s-ci-robot k8s-ci-robot added the kind/bug Categorizes issue or PR as related to a bug. label Jun 20, 2019
@msau42
Copy link
Contributor Author

msau42 commented Jun 20, 2019

For attach and detach, we could get into strange states like returning success from Detach while an Attach to the same node is in progress.

@hantaowang
Copy link

If the problem is that there is a race condition on Attach ops for the same volume and the GCP layer does not handle this, then we can look into applying similar changes as #303 and serialize ops on the same volume.

@msau42
Copy link
Contributor Author

msau42 commented Jun 24, 2019

GCP layer does handle this, however, I think our CSI driver layer does not.

ie, 2 threads are processing in parallel, an attach and a detach. One of them is going to be waiting for the other, but ordering of operation calls and checks between the two operations are not guaranteed at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
3 participants