Individual JVM for Access Service

Configure Access service on a dedicated JVM (Artifactory 7.90+) with separate memory allocation via access.extraJavaOpts.

Starting from Artifactory version 7.90 Self-Hosted, the Access service runs on a dedicated Java Virtual Machine (JVM) with a dedicated Tomcat server, independent of the main Artifactory JVM. This architectural change improves resource management and strengthens the infrastructure.

In Helm installations, the Access service is moved from the Artifactory container to run as a separate container within the same pod.

Resource Allocation

The dedicated JVM for the Access service includes updated default JVM parameters for memory allocation. Default settings are as follows:

  • For Helm Installations:

    InitialRAMPercentage is set to 20%.

    MaxRAMPercentage is set to 70% of the value set for resource.limits.memory in the Access container. If no resource limits are defined for the container, the JVM will use the pod’s host memory metrics for RAMPercentage calculations.

  • For Native Installation types (Archive, RPM, Debian, Docker):

    MaxRAMPercentage is set to 25%.

Previous JVM parameters, including memory adjustments (Xmx and Xms) configured as part of shared.extraJavaOpts in the Artifactory System YAML, no longer apply to the Access service.

To set Java parameters for the Access JVM, use the access.extraJavaOpts configuration in the Artifactory System YAML. The values in the example below are illustrative — adjust them based on the size and usage of your Artifactory instance:

access:
  extraJavaOpts: "-XX:InitialRAMPercentage=10 -XX:MaxRAMPercentage=25"

JVM Arguments

  • -XX:InitialRAMPercentage: Sets the initial heap size as a percentage of total memory. For example, setting 25 on a 1 GB host gives an initial heap of 250 MB.
  • -XX:MaxRAMPercentage: Sets the maximum heap size as a percentage of total memory. For example, setting 30 on a 1 GB host gives a max heap of 300 MB.
❗️

Important

Before you upgrade, if the JFrog Platform is running on a Kubernetes (including OpenShift) cluster that requires request or limit resources for every container, add a resources definition to the new container. Sizing templates are available in the Helm chart.

Database Connections

For PostgreSQL, Oracle, MySql, and MariaDB, the Access Tomcat service continues to use the same database connection pool for databases that support multiple connections.

For Derby, the Access Tomcat service requires an additional database because Derby supports only a single connection driver. An additional Derby database is created at $JFROG_HOME/artifactory/var/data/access/derby. For existing installations, the startup script copies Derby data from Artifactory to Access. Copy time varies based on data volume.

❗️

Important

Before you upgrade, verify that enough disk space is available for an additional copy of your database, then add the new database to your backup.

Database Drivers

To use a database other than PostgreSQL or Derby, place the corresponding driver in the bootstrap directory at $JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib. The Access Tomcat service loads custom drivers from this directory.

If you place database drivers directly in the Artifactory application directory ($JFROG_HOME/artifactory/app/artifactory/tomcat/lib), the Access application fails to load. Move the drivers into the bootstrap directory to avoid failures.

Logging

The Tomcat logs are located at $JFROG_HOME/artifactory/var/log/tomcat. To avoid conflicts between logs generated by Artifactory and Access Tomcat services, the Access Tomcat log is configured to include access as part of the file name.

The following Tomcat logs are generated:

  • tomcat-access-localhost-<date>.log
  • tomcat-access-catalina-<date>.log

Rest API Endpoints

Because the Access service now runs on a dedicated JVM, the previously used Access REST API endpoint https:<JFROG_PLATFORM_URL>/artifactory/api/access is no longer supported. Use the new endpoint https://<JFROG_PLATFORM_URL>/access.

If your Access Federation URL is currently configured with https://<FROG_PLATFORM_URL>/artifactory/api/access, update it to prevent service interruptions as this is a breaking change.