Artifactory CPP-CE helm chart deployment fails, reasons unclear
hi,
I am trying to get the Helm chart for artifactory the cpp community edition working.
The overall logs are spammed with missing join key, but actually other log elements tell that it's found.
As the overall log file wasn't really helping at all and also the existing issues did not provide a usable solution to the fishy reasons, why it's not running at all, I did try to concentrate on the artifactory container.
This NPE jumped at me, I would guess it's at least one of the reasons artifactory does not start up properly.
2025-10-09T09:26:09.161Z [jfrt ] [ERROR] [d8c383f2127dee56f27143e739846ddb] [.BasicConfigurationManager:241] [Catalina-utility-1 ] - Can't save upgrade data for version CompoundVersionDetails(version=7.117.15, packageHandlerVersion=null, buildNumber=LOCAL, timestamp=1167040800000, mfeVersion=null)
java.lang.NullPointerException: Data cannot be null
at org.jfrog.storage.wrapper.BlobWrapper.<init>(BlobWrapper.java:70)
at org.artifactory.storage.db.fs.dao.ConfigHistoryDao.insert(ConfigHistoryDao.java:58)
at org.artifactory.storage.db.fs.dao.ConfigHistoryDao.saveConfigHistory(ConfigHistoryDao.java:53)
at org.artifactory.storage.db.fs.service.VersionHistoryServiceImpl.saveConfig(VersionHistoryServiceImpl.java:31)
at org.artifactory.lifecycle.webapp.servlet.BasicConfigurationManager.saveUpgradeData(BasicConfigurationManager.java:226)
at org.artifactory.lifecycle.webapp.servlet.BasicConfigurationManager.initArtifactoryInstallation(BasicConfigurationManager.java:167)
at org.artifactory.lifecycle.webapp.servlet.BasicConfigurationManager.initialize(BasicConfigurationManager.java:137)
at org.artifactory.lifecycle.webapp.servlet.ArtifactoryHomeConfigListener.initBasicConfigManager(ArtifactoryHomeConfigListener.java:60)
at org.artifactory.lifecycle.webapp.servlet.ArtifactoryHomeConfigListener.contextInitialized(ArtifactoryHomeConfigListener.java:52)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4046)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4474)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:655)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:632)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1881)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:1583)
On the other side, a goroutine stack trace mentions a missing shared.security.joinKey, see:
2025-10-09T10:18:30.055Z [jfmd ] [ERROR] [ ] [keys.go:23 ] [main ] - Cluster join: Failed resolving join key: failed resolving 'shared.security.joinKey' key; file does not exist: /opt/jfrog/artifactory/var/etc/security/join.key
goroutine 1 [running]:
runtime/debug.Stack()
/var/jenkins_home/tools/org.jenkinsci.plugins.golang.GolangInstallation/go-1.24.6/src/runtime/debug/stack.go:26 +0x5e
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).Panicfc(0xc0005caff0, {0x2e52258, 0xc0005b46c0}, {0xc0000ee460, 0x9e}, {0x0, 0x0, 0x0})
goroot/pkg/mod/jfrog.com/jfrog-go-commons/[email protected]/pkg/log/standard_logger.go:101 +0xbf
jfrog.com/metadata/v7/services/common.MustResolveSecurityKeys({0x2e52258, 0xc0005b46c0}, {0x2e5a960, 0xc000893130}, {0x2e68da8, 0xc0005caff0})
jfrog.com/metadata/[email protected]/services/common/keys.go:23 +0x18c
main.main()
jfrog.com/metadata/[email protected]/metadata.go:35 +0x2e5
[init]
panic: Cluster join: Failed resolving join key: failed resolving 'shared.security.joinKey' key; file does not exist: /opt/jfrog/artifactory/var/etc/security/join.key
goroutine 1 [running]:
runtime/debug.Stack()
/var/jenkins_home/tools/org.jenkinsci.plugins.golang.GolangInstallation/go-1.24.6/src/runtime/debug/stack.go:26 +0x5e
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).Panicfc(0xc0005caff0, {0x2e52258, 0xc0005b46c0}, {0xc0000ee460, 0x9e}, {0x0, 0x0, 0x0})
goroot/pkg/mod/jfrog.com/jfrog-go-commons/[email protected]/pkg/log/standard_logger.go:101 +0xbf
jfrog.com/metadata/v7/services/common.MustResolveSecurityKeys({0x2e52258, 0xc0005b46c0}, {0x2e5a960, 0xc000893130}, {0x2e68da8, 0xc0005caff0})
jfrog.com/metadata/[email protected]/services/common/keys.go:23 +0x18c
main.main()
jfrog.com/metadata/[email protected]/metadata.go:35 +0x2e5
goroutine 1 [running]:
jfrog.com/jfrog-go-commons/v7/pkg/log.defaultEventFactory.(*Logger).Panic.func1({0xc000660700?, 0x0?})
goroot/pkg/mod/github.com/rs/[email protected]/log.go:405 +0x27
github.com/rs/zerolog.(*Event).msg(0xc0005c8e70, {0xc000660700, 0x342})
goroot/pkg/mod/github.com/rs/[email protected]/event.go:158 +0x2aa
github.com/rs/zerolog.(*Event).Msgf(0xc0005c8e70, {0xc0000ea0b0?, 0xc000935c00?}, {0xc000935ce8?, 0x4565d20?, 0x3?})
goroot/pkg/mod/github.com/rs/[email protected]/event.go:131 +0x46
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).logMessage(0xc0005caff0, {0x2e52258, 0xc0005b46c0}, 0x5, {0xc0000ea0b0, 0xa1}, {0xc000935ce8, 0x1, 0x1})
goroot/pkg/mod/jfrog.com/jfrog-go-commons/[email protected]/pkg/log/standard_logger.go:130 +0x2b8
jfrog.com/jfrog-go-commons/v7/pkg/log.(*standardLogger).Panicfc(0xc0005caff0, {0x2e52258, 0xc0005b46c0}, {0xc0000ee460, 0x9e}, {0x0, 0x0, 0x0})
goroot/pkg/mod/jfrog.com/jfrog-go-commons/[email protected]/pkg/log/standard_logger.go:102 +0x1c5
jfrog.com/metadata/v7/services/common.MustResolveSecurityKeys({0x2e52258, 0xc0005b46c0}, {0x2e5a960, 0xc000893130}, {0x2e68da8, 0xc0005caff0})
jfrog.com/metadata/[email protected]/services/common/keys.go:23 +0x18c
main.main()
jfrog.com/metadata/[email protected]/metadata.go:35 +0x2e5
Overall I tried at least 4 different Chart versions, with similar output, except the NPE is new since 7.117.17
Logfile of the artifactory container of the artifactory pod, last try with updated helm chart to 7.117.18 logs-artifactory-2025-10-09-3.txt
Full Logfile of all containers: logs-2025-10-09.txt
values.yml, stripped off passwords and image tags, as these come from an internal docker repository. values-stripped.yml
Could be related to #1859, maybe #1482 and #1479. I think I remember additional issues might be related, but cannot find them ad-hoc.