Fix multiarch image push in docker engine #15548
Open
+48
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-staticsubpackages, etc.) have had theirReleasetag incremented../cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json)./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)*.signatures.jsonfilessudo make go-tidy-allandsudo make go-test-coveragepassSummary
What does the PR accomplish, why was it needed?
ICM: https://portal.microsofticm.com/imp/v5/incidents/details/666786675/summary
This PR backports an upstream Docker fix to moby-engine 25.0.3 that resolves an Azure Container Registry geo-replication inconsistency issue.
The bug causes all image layers to be pushed with the same vars_reference value (the image tag) instead of unique layer digests. This leads to race conditions during concurrent pushes, resulting in last-writer-wins behavior and tag-to-digest mismatches across geo-replicated regions. Customers experience images being available in one region but missing or corrupted in others.
The fix ensures each layer is pushed with its unique SHA256 digest as the vars_reference, enabling reliable geo-replication across ACR regions.
Upstream reference: moby/moby#49949
Change Log
Does this affect the toolchain?
NO
Associated issues
Links to CVEs
Test Methodology
- Buddy build: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1031926&view=results