-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Parallel pushes fail with invalid written size #2706
Comments
I just hit this one. |
I seem to be hitting this occasionally running a $ docker buildx build \
--platform linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7,windows/amd64 \
--push . A sample failure log is here: https://github.com/hairyhenderson/gomplate/runs/610612798?check_suite_focus=true This isn't consistent, but happens roughly 25-30% of the time. Usually triggering a new build will resolve it. (@tonistiigi pointed me to this in Slack) |
There is definitely an identical layer between all variants of the image:
The common layer here is Note that this isn't unique to |
Description
The push handler does not work properly if there are multiple pushes of the same blob running concurrently. It seems that both pushes write to the same place and one of them will fail with an error saying that twice as many bytes were written as are in the descriptor.
This is not only the case when two competing pushes are pushing same data to the same location but it is quite easy to hit it when just pushing a single manifest list as the subimages can easily contain duplicates. Also possible to hit it by just pushing multiple images that share some layers to the same repo.
Steps to reproduce the issue:
Output of
containerd --version
:The text was updated successfully, but these errors were encountered: