Operations Center startup slowed down by loading of large Custom Update Center items

1 minute readKnowledge base

Issue

When using a Custom Update Center item with a large plugins base, the startup of Operations Center is slowed down by the loading of the Update Center item. In particular, the calculation of the checksum sha256 and sha512 of plugin / core files:

"Loading item CustomUpdateCenter" ...
   java.lang.Thread.State: RUNNABLE
    [...]
    at com.cloudbees.jenkins.updates.data.VersionEntry.getCheckSumOf(VersionEntry.java:432)
    at com.cloudbees.jenkins.updates.data.VersionEntry.getCheckSumOf(VersionEntry.java:530)
    at com.cloudbees.jenkins.updates.data.VersionEntry.getSHA256ChecksumOf(VersionEntry.java:481)
    at com.cloudbees.jenkins.updates.data.PluginEntry.fromJarFile(PluginEntry.java:361)
    at com.cloudbees.plugins.updatecenter.UpdateCenter.init(UpdateCenter.java:386)
    at com.cloudbees.plugins.updatecenter.AbstractUpdateCenter.onLoad(AbstractUpdateCenter.java:90)
    at hudson.model.Items.load(Items.java:376)
    at jenkins.model.Jenkins$13.run(Jenkins.java:3464)
    at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:177)
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1169)
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
    at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.20/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.20/ThreadPoolExecutor.java:628)
    at java.lang.Thread.run(java.base@11.0.20/Thread.java:829)
"Loading item CustomUpdateCenter" ...
   java.lang.Thread.State: RUNNABLE
    [...]
    at com.cloudbees.jenkins.updates.data.VersionEntry.getCheckSumOf(VersionEntry.java:432)
    at com.cloudbees.jenkins.updates.data.VersionEntry.getCheckSumOf(VersionEntry.java:530)
    at com.cloudbees.jenkins.updates.data.VersionEntry.getSHA512ChecksumOf(VersionEntry.java:493)
    at com.cloudbees.jenkins.updates.data.PluginEntry.fromJarFile(PluginEntry.java:362)
    at com.cloudbees.plugins.updatecenter.UpdateCenter.init(UpdateCenter.java:386)
    at com.cloudbees.plugins.updatecenter.AbstractUpdateCenter.onLoad(AbstractUpdateCenter.java:90)
    at hudson.model.Items.load(Items.java:376)
    at jenkins.model.Jenkins$13.run(Jenkins.java:3464)
    at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:177)
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1169)
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
    at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.20/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.20/ThreadPoolExecutor.java:628)
    at java.lang.Thread.run(java.base@11.0.20/Thread.java:829)
  • BEE-39249: CJOC startup blocked by Update Center sha256 / sha512 scan

Resolution

Upgrade CloudBees Update Center plugin to version 4.83 or later (available under the CloudBees Assurance Program since CloudBees CI 2.414.2.2.

The first startup after the upgrade will still take time as it will fixup the missing sha256 and sha512 files. But next startups will be considerably faster.