Starting from Artifactory version 7.80.0, we have improved our index calculation mechanism for virtual repositories to minimize potential OOM issues.
Important
If you use a Helm virtual repository with a virtual cache expiration time set to 0, you might experience slower resolution times.
We recommend setting the Metadata Retrieval Cache Period (Sec) in the repository page in the JFrog Platform WebUI to 60 seconds or more. This will help you avoid recreating the index every time there’s a new request and prevent out-of-memory issues. By default, this parameter is set to 6 minutes. This will prevent subsequent indexing requests from being triggered during this time period.
When receiving a download request for an index.yaml
file against a Helm virtual repository, Artifactory will perform the following steps:
Check whether the instance already contains a cached non-expired calculated file that fits the user’s permissions, and return that file if it exists.
If the file does not already exist, check if there is an ongoing calculation of the merged
index.yaml
file that fits the user’s permissions. If the calculation is in progress, wait 6 minutes or until the calculation is completed, whichever happens first.If the calculation is completed within 6 minutes, whether the instance contains a cached non-expired calculated file that fits the user’s permissions, and return that file if it exists.
You can use this feature flag to return to the previous behavior:
artifactory.virtual.repo.metadata.merge.lock.timeout.sec.HELM=120