When the "isResolveDockerTagsByTimestamp" flag is enabled for a Docker virtual repository, upon a Docker pull by digest, we are immediately searching for the manifest in all local repositories.
The "isResolveDockerTagsByTimestamp" flag should trigger the search in all repositories only when a pull by tag is performed, not by digest.
The search of the manifest in each repository is done using an SQL query that is under-performing, and reducing these searches as much as possible will help to significantly reduce load and improve performance.
1. Setup an Artifactory instance with 10 local docker repositories and aggregate them to a virtual docker repository.
2. Push a docker image to the first local repository.
3. Enable JDBC logs to print the queries:
4. Perform a pull by digest once with the "isResolveDockerTagsByTimestamp" disabled and once with it enabled.
5. Check how many times the above query was executed. When the flag is disabled, it is much less.