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.
2
Answers
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?
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.