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

PullImage ignores contents with same diff id #8580

Closed
cardyok opened this issue May 26, 2023 · 1 comment
Closed

PullImage ignores contents with same diff id #8580

cardyok opened this issue May 26, 2023 · 1 comment
Labels

Comments

@cardyok
Copy link
Contributor

cardyok commented May 26, 2023

Description

Since we have moved content fetching into the unpack process in #3870 to enable trending remote lazy-loading snapshotters like overlaybd/estargz to skip downloading process.

But there are senarios when two layer share the same diff ID but has different digestID.

In this case, after first image is fully downloaded and unpacked, some contents of second image( which shares the same diff id with another layer in the first image) won't be downloaded bc snapshotter thing this layer has already been unpacked (since snapshot ID is chainID calculated from diffID).

After that, imageRef exists, ctr i check will consider second image as incomplete, and when we need the content later when we switch snapshot which needs content to unpack again or use some external client-side tools like nerdctl, this content might be unexpectedly missing.

Steps to reproduce the issue

Describe the results you received and expected

Some discussion about this behavior. Should we consider it as by-design/enhancement(since it optimizes disk space utilization) or bug?

What version of containerd are you using?

containerd containerd.io 1.6.21

Any other relevant information

No response

Show configuration if it is related to CRI plugin.

No response

@cardyok
Copy link
Contributor Author

cardyok commented Jun 14, 2023

will solve this issue with external methods (like in nerdctl). containerd/nerdctl#2295

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