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
metadata: make sure snapshots' children are removable #6356
Conversation
|
Build succeeded.
|
|
Build succeeded.
|
Sometimes I see snapshots that have children in "children" bucket, but not in "snapshots" bucket. In this case, there is no way to remove the snapshots. This change adds an extra check to make sure that snapshots' children are actually removable. If the child is deleted even partially, it should not cause ErrFailedPrecondition. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
|
Build succeeded.
|
|
Is there an associated bug that causes some cases to not remove from the parent? Adding the cleanup is fine but would like to know how that occurred since the child cleanup and parent removal should be in the same transaction. |
|
No. I'm just having this odd situation with devmapper snapshotter. I have killed containerd with Killing containerd forcibly is something we need to expect. We should gracefully handle the situation. |
|
Seems the inconsistency was caused by my bug in in-development code. But I'd like to have a path to "fix" the inconsistent state. Should we ask operators to explicitly handle the situation (like fsck command?). |
|
@kzys personally I am a fan of having |
|
@dmcgowan Sounds reasonable. Let me think about Resolving. |
Sometimes I see snapshots that have children in "children" bucket,
but not in "snapshots" bucket. In this case, there is no way to remove
the snapshots.
This change adds an extra check to make sure that snapshots' children
are actually removable. If the child is deleted even partially,
it should not cause ErrFailedPrecondition.
Signed-off-by: Kazuyoshi Kato katokazu@amazon.com