registry Pod prints an error with unexpected EOF at contentLength=35444941962 copied=34359738368; 34359738368 bytes is exactly 32GiB, i.e. 1 << 35. I've tracked this down to:
Observe the push eventually fail (building the image with push=false succeeds)
Versions:
harbor version: v2.9.1
buildkitd: v0.12.3
Additional context:
Our user needs to create an image of around 100GiB total -- copying an application directory with many files as a single layer. It is possible to work around the 32GiB limit by splitting the layer into multiple ones by having more COPY instructions. However, because the directory contains hard-links, the total size of the image increases by 50%.
Description
Pushing an image containing layers with size exceeding 32GiB fails.
Logs:
(full logs here)
registry
Pod prints an error with unexpected EOF atcontentLength=35444941962 copied=34359738368
; 34359738368 bytes is exactly 32GiB, i.e.1 << 35
. I've tracked this down to:https://github.com/goharbor/harbor/blob/v2.9.1/src/core/main.go#L131
Changing this value to
1111111111
confirms that the upload fails due to this limit:Steps to reproduce the problem:
data-33gib
file:buildctl
:push=false
succeeds)Versions:
Additional context:
Our user needs to create an image of around 100GiB total -- copying an application directory with many files as a single layer. It is possible to work around the 32GiB limit by splitting the layer into multiple ones by having more
COPY
instructions. However, because the directory contains hard-links, the total size of the image increases by 50%.