Helm Virtual Repository Index Improvements

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

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:

  1. 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.

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

  3. 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