-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Jenkins 1.532.1
when starting Jenkins, it loads all jobs which eventually trigger a parse of the whole build history. That definitely takes a long time and cause my setup to take up to 20 minutes to start.
Using jstack, I found out stack traces such as:
For a freestyle project:
"Loading job mwext-VectorBeta-lint" daemon prio=10 tid=0x00007f8a24001000 nid=0x33c0 runnable [0x00007f8a8854e000]
java.lang.Thread.State: RUNNABLE
at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:243)
at java.io.File.isDirectory(File.java:815)
at hudson.model.RunMap$3.accept(RunMap.java:205)
at java.io.File.list(File.java:1095)
at jenkins.model.lazy.AbstractLazyLoadRunMap.loadIdOnDisk(AbstractLazyLoadRunMap.java:227)
at jenkins.model.lazy.AbstractLazyLoadRunMap.initBaseDir(AbstractLazyLoadRunMap.java:203)
at jenkins.model.lazy.AbstractLazyLoadRunMap.<init>(AbstractLazyLoadRunMap.java:195)
at hudson.model.RunMap.<init>(RunMap.java:84)
at hudson.model.AbstractProject.createBuildRunMap(AbstractProject.java:337)
at hudson.model.AbstractProject.onLoad(AbstractProject.java:299)
at hudson.model.Project.onLoad(Project.java:90)
at hudson.model.Items.load(Items.java:221)
at jenkins.model.Jenkins$18.run(Jenkins.java:2562)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:899)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Or in a maven project:
"Loading job gerrit-core-wmf" daemon prio=10 tid=0x00007f8a08001000 nid=0x33c5 runnable [0x00007f8a03ffd000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:140)
at hudson.XmlFile.read(XmlFile.java:141)
at hudson.model.Items.load(Items.java:220)
at hudson.model.ItemGroupMixIn.loadChildren(ItemGroupMixIn.java:99)
at hudson.maven.MavenModuleSet.onLoad(MavenModuleSet.java:768)
at hudson.model.Items.load(Items.java:221)
at jenkins.model.Jenkins$18.run(Jenkins.java:2562)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:146)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:899)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Using strace, I can confirm Jenkins attempt to load all the build history files I am not sure why it would need to do so though.