-
Notifications
You must be signed in to change notification settings - Fork 34
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
fix(gzip)!: change the default block size #529
Conversation
b6a3fe4
to
bf39d9e
Compare
Codecov Report
@@ Coverage Diff @@
## main #529 +/- ##
=======================================
Coverage 13.34% 13.34%
=======================================
Files 40 40
Lines 5852 5852
=======================================
Hits 781 781
Misses 4943 4943
Partials 128 128
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion in commit message:
A tar layer with the same content but compressed with different gzip blocksize
will result in different sha256sums in the final OCI Image. Ecosystem tools
have one current size in use and stacker's current size differ.
Interactions between a stacker-built OCI image and ecosystem tools
which recompress lower layers results in bloated registries which will have
identical tar content but different compressed sha256 blobs.
Unfortunately, the OCI image spec doesn't standardize/encode this in the
specification document. Hence, we change to the current common block size used
in the ecosystem here in the stacker implementation.
BREAKING CHANGE: the default gzip block size is changed to 256<<12, was previously 256<<10. A tar layer with the same content but compressed with different gzip blocksize will result in different sha256sums in the final OCI Image. Ecosystem tools have one current size in use and stacker's current size differ. Interactions between a stacker-built OCI image and ecosystem tools which recompress lower layers results in bloated registries which will have identical tar content but different compressed sha256 blobs. Unfortunately, the OCI image spec doesn't standardize/encode this in the specification document. Hence, we change to the current common block size used in the ecosystem here in the stacker implementation. We now link against our own fork: github.com/project-stacker/umoci which may change depending on the PR getting merged to upstream. Signed-off-by: Ramkumar Chinchani <[email protected]>
Updated. |
BREAKING CHANGE: the default gzip block size is changed to 256<<12, was previously 256<<10. A tar layer with the same content but compressed with different gzip blocksize will result in different sha256sums in the final OCI Image. Ecosystem tools have one current size in use and stacker's current size differ. Interactions between a stacker-built OCI image and ecosystem tools which recompress lower layers results in bloated registries which will have identical tar content but different compressed sha256 blobs. Unfortunately, the OCI image spec doesn't standardize/encode this in the specification document. Hence, we change to the current common block size used in the ecosystem here in the stacker implementation. We now link against our own fork: github.com/project-stacker/umoci which may change depending on the PR getting merged to upstream. Signed-off-by: Ramkumar Chinchani <[email protected]> (cherry picked from commit 0cf2d70) Signed-off-by: Ramkumar Chinchani <[email protected]>
BREAKING CHANGE: the default gzip block size is changed to 256<<12, was previously 256<<10. A tar layer with the same content but compressed with different gzip blocksize will result in different sha256sums in the final OCI Image. Ecosystem tools have one current size in use and stacker's current size differ. Interactions between a stacker-built OCI image and ecosystem tools which recompress lower layers results in bloated registries which will have identical tar content but different compressed sha256 blobs. Unfortunately, the OCI image spec doesn't standardize/encode this in the specification document. Hence, we change to the current common block size used in the ecosystem here in the stacker implementation. We now link against our own fork: github.com/project-stacker/umoci which may change depending on the PR getting merged to upstream. Signed-off-by: Ramkumar Chinchani <[email protected]> (cherry picked from commit 0cf2d70) Signed-off-by: Ramkumar Chinchani <[email protected]>
BREAKING CHANGE: the default gzip block size is changed to 256<<12, was previously 256<<10. A tar layer with the same content but compressed with different gzip blocksize will result in different sha256sums in the final OCI Image. Ecosystem tools have one current size in use and stacker's current size differ. Interactions between a stacker-built OCI image and ecosystem tools which recompress lower layers results in bloated registries which will have identical tar content but different compressed sha256 blobs. Unfortunately, the OCI image spec doesn't standardize/encode this in the specification document. Hence, we change to the current common block size used in the ecosystem here in the stacker implementation. We now link against our own fork: github.com/project-stacker/umoci which may change depending on the PR getting merged to upstream. (cherry picked from commit 0cf2d70) Signed-off-by: Ramkumar Chinchani <[email protected]>
BREAKING CHANGE: the default gzip block size is changed to 256<<12, was previously 256<<10.
The layers created by ecosystem tools and stacker are different for the same tar content. Unfortunately, the OCI image spec doesn't standardize/encode this in the document. Hence, we standardize in the implementation.
We now link against our own fork: github.com/project-stacker/umoci which may change depending on the PR getting merged to upstream.
What type of PR is this?
Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs showing the issue:
Testing done on this change:
Automation added to e2e:
Will this break upgrades or downgrades?
Does this PR introduce any user-facing change?:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.