-1

We are not able to find out why artifactory started making calls to docker remote for pulling the list.manifest.json even though it exists in its local cache. It used to work fine earlier but suddenly we started seeing sharp jump in the number of requests being made to docker remote. Please note that this behaviour is observed only for list.manifest.json and manifest.json. Blobs are correctly being served from the cache.

Jill
  • 47
  • 8

2 Answers2

0

Are you pulling by tag or by digest? Any chance the cache configuration has changed? like setting max retrieval cache to 0? What is the Artifactory version?

iSofer
  • 1
  • 1
  • We are pulling by digest (sha). There has not been any change in the max cache retrieval period. We are still on artifactory 6. We did introduce apache-proxy cache in front of artifactory but ideally that should not cause this issue. – Jill Jul 13 '23 at 14:04
  • Hi iSofer, thank you for your time and contribution. It would be best to ask for further information in the comments section and reserve the answer section for providing answers. – Alireza Roshanzamir Jul 16 '23 at 23:06
0

The list.manifest.json and manifest.json are metadata files and are considered an expirable resource. When a tag is overwritten on the upstream, those files are updated (usually occurs with the 'latest' tag).

Once the Metadata Cache Retrieval Period is passed, Artifactory will check if a newer version of the manifest was deployed and will download if there is one.

If a tag was updated on the upstream and the Metadata Cache Retrieval Period was not passed, Artifactory will serve the image from the cache.

Hanan
  • 86
  • 2
  • It is not being served from the cache even when metadata cache retrieval period has not passed. This behaviour is intermittent. Around 50% manifest requests are served from cache and for 50% it is calling docker remote even when the image exists in cache. – Jill Jul 13 '23 at 14:06