Issue Summary
One Model Service Failure Preventing Artifactory Startup
Upon attempting to install or upgrade Artifactory to versions 7.104.5 or 7.104.6, users may encounter an issue where the One Model service fails to initialize, subsequently preventing Artifactory from starting.
Warning Messages
During the startup, the following warning messages may be observed in the onemodelregistry-service.log:
2025-02-03T20:40:42.048Z [jfomr] [WARN ] [4ba0e398d77b2c8n] [worker.go:110 ] [main ] [ ] - Composition failed with error: publish supergraph: write supergraph: replace target file: rename /opt/jfrog/artifactory/var/work/onemodel/supergraph-335720882.graphqls /opt/jfrog/artifactory/var/data/onemodel/supergraph.graphqls: invalid cross-device link [composition] [trigger][manual] [trigger_id][initial]
Additionally, the router-service.log may indicate that the One Model service is the last remaining service that has not come online:
2025-02-03T20:40:54.072Z [jfrou] [WARN ] [46791bffd6729545] [healthcheck.go:70 ] [main ] [] - Checking health of service 'jfomr_01gmxzycd4q0998g6d6dm41d2' using URL 'http://localhost:8071/api/v1/system/readiness' returned unexpected response status: 503
Root Cause
The issue is linked to directory partitioning; specifically, the /opt/jfrog/artifactory/var/work directory is located on a different partition than the /opt/jfrog/artifactory/var/data directory. This difference leads to the observed "invalid cross-device link" error.
Recommended Temporary Workaround
As a temporary solution, users can disable the One Model service within the system.yaml configuration file. To do this, add the following lines:
onemodel:
enabled: false
Once this change has been made, restart Artifactory to allow it to start up without the One Model service.
Permanent Resolution
A permanent fix for this issue is expected in the upcoming Artifactory versions soon and are encouraged to monitor for this release notes and upgrade the Artifactory version accordingly.
After upgrading to the fixed version, remember to re-enable the One Model service by changing the system.yaml configuration back to:
onemodel:
enabled: true