Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-21217

projects fully loaded on start causing slow startup

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • 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.

            Unassigned Unassigned
            hashar Antoine Musso
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: