-
Notifications
You must be signed in to change notification settings - Fork 18.6k
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
Live restore breaks in-use check on volume rm
#37706
Comments
@thaJeztah, this probably warrants a highish priority since "live restore" is not an experimental feature, the bug can lead to data loss, and it's consisten to reproduce. |
Tried to create a minimal reproduce case for this using the Things I know about the situation it reproduces in:
If more info can be extracted from the system I've got where it reproduces, lemme know and I'll try to provide that. |
Thanks for reporting! 🤔 sounds like the in-memory state is being reset somewhere when restarting the daemon. ping @anusha-ragunathan @cpuguy83 is this information persisted on disk as well (so that this can be reloaded?); If not persisted separately, I assume this can be obtained from each container's configuration. |
I would have to dig in and see if something changed. |
This is fixed by: #44231 Let me close this issue. |
Description
docker volume rm
was allowed to proceed on an in use volume with no warning or error. Everything continue to function as normal until a system restart stopped the container, and a subsequent start failed with:Cannot start service foobar: get 53c78ad9781aa1f45f9ce84cc324625504096b937ed22118a038a65af4210bfc: no such volume
.It appears that the reason this worked is because the system has "live restore" enabled, and the
docker
daemon had been restarted (due to upgrade from18.06.0-ce
to18.06.1-ce
).Steps to reproduce the issue:
docker
daemondocker volume rm
with an in-use volumeDescribe the results you received:
Volume removed without any complaints about in-use status.
Describe the results you expected:
Error prohibiting removal due to in-use state. Removal attempts before restarting the daemon triggered this error successfully.
Additional information you deem important (e.g. issue happens only occasionally):
This is definitely related to "live restore", I've tested it a few times now. It seems that the check for in-use is bypassed if the daemon is restarted while the container stays running. I have not tried stopping the container and starting it after the daemon is restarted to see if that somehow reconnects the check.
Output of
docker version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.):
The text was updated successfully, but these errors were encountered: