hudson.model.RunMap$ThisIsHowItsLoaded

Jenkins JIRA | Jesse Glick | 3 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    Observed in a customer installation of 1.554.3, including JENKINS-18065 backport, but reproducible in 1.575-SNAPSHOT. I created a freestyle project using https://github.com/jglick/simple-maven-project-with-tests with a shell step {code:none} mvn -Dmaven.test.failure.ignore test {code} reporting {{\*\*/target/surefire-reports/TEST-*.xml}} and then triggering itself (even if unstable). After setting the system quiet period to 0 and kicking off an initial build, I let it run until it had produced 121 builds of various stability, then restarted Jenkins, running a logger of {{hudson.model.Run}} at {{FINER}} and {{hudson.model.RunMap}} at {{FINEST}}. Showing the dashboard ({{/}}) was fine: builds 120 and 121 were loaded since these are shown as the last stable and failed builds; 116-119 were loaded to complete the weather icon. So then I visited the job index page. 90-115 were loaded to show the most recent builds in the {{HistoryWidget}} in the sidebar, which is normal. But then the remaining 1-89 were also loaded: {code:none} hudson.model.RunMap$ThisIsHowItsLoaded at hudson.model.RunMap.retrieve(RunMap.java:221) at hudson.model.RunMap.retrieve(RunMap.java:56) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:688) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:650) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:382) at jenkins.model.lazy.LazyBuildMixIn$RunMixIn.getPreviousBuild(LazyBuildMixIn.java:366) at hudson.model.AbstractBuild.getPreviousBuild(AbstractBuild.java:198) at hudson.tasks.test.AbstractTestResultAction.getPreviousResult(AbstractTestResultAction.java:187) at hudson.tasks.test.AbstractTestResultAction.buildDataSet(AbstractTestResultAction.java:270) at hudson.tasks.test.AbstractTestResultAction.doGraph(AbstractTestResultAction.java:232) at hudson.tasks.test.TestResultProjectAction.doTrend(TestResultProjectAction.java:97) {code} Indeed {{/test/trend}} shows the status of every build, not limited to the most recent.

    Jenkins JIRA | 3 years ago | Jesse Glick
    hudson.model.RunMap$ThisIsHowItsLoaded
  2. 0

    Observed in a customer installation of 1.554.3, including JENKINS-18065 backport, but reproducible in 1.575-SNAPSHOT. I created a freestyle project using https://github.com/jglick/simple-maven-project-with-tests with a shell step {code:none} mvn -Dmaven.test.failure.ignore test {code} reporting {{\*\*/target/surefire-reports/TEST-*.xml}} and then triggering itself (even if unstable). After setting the system quiet period to 0 and kicking off an initial build, I let it run until it had produced 121 builds of various stability, then restarted Jenkins, running a logger of {{hudson.model.Run}} at {{FINER}} and {{hudson.model.RunMap}} at {{FINEST}}. Showing the dashboard ({{/}}) was fine: builds 120 and 121 were loaded since these are shown as the last stable and failed builds; 116-119 were loaded to complete the weather icon. So then I visited the job index page. 90-115 were loaded to show the most recent builds in the {{HistoryWidget}} in the sidebar, which is normal. But then the remaining 1-89 were also loaded: {code:none} hudson.model.RunMap$ThisIsHowItsLoaded at hudson.model.RunMap.retrieve(RunMap.java:221) at hudson.model.RunMap.retrieve(RunMap.java:56) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:688) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:650) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:382) at jenkins.model.lazy.LazyBuildMixIn$RunMixIn.getPreviousBuild(LazyBuildMixIn.java:366) at hudson.model.AbstractBuild.getPreviousBuild(AbstractBuild.java:198) at hudson.tasks.test.AbstractTestResultAction.getPreviousResult(AbstractTestResultAction.java:187) at hudson.tasks.test.AbstractTestResultAction.buildDataSet(AbstractTestResultAction.java:270) at hudson.tasks.test.AbstractTestResultAction.doGraph(AbstractTestResultAction.java:232) at hudson.tasks.test.TestResultProjectAction.doTrend(TestResultProjectAction.java:97) {code} Indeed {{/test/trend}} shows the status of every build, not limited to the most recent.

    Jenkins JIRA | 3 years ago | Jesse Glick
    hudson.model.RunMap$ThisIsHowItsLoaded
  3. 0

    Setup is the same as in JENKINS-23945 except use the {{testng}} branch of the sample project, and configure the TestNG plugin's publisher with {{**/target/surefire-reports/testng-results.xml}}. Even with the fix of JENKINS-23945 applied to Jenkins core, after displaying the job index page all builds are loaded: {code:none} ... FINER hudson.model.Run reload lazy-load-perf #71 @... ... FINEST hudson.model.RunMap Loaded lazy-load-perf #71 hudson.model.RunMap$ThisIsHowItsLoaded at hudson.model.RunMap.retrieve(RunMap.java:221) at hudson.model.RunMap.retrieve(RunMap.java:56) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:688) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:650) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:382) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:70) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:59) at java.util.AbstractMap$2$1.next(AbstractMap.java:385) at hudson.util.RunList.size(RunList.java:108) at hudson.plugins.testng.TestNGProjectAction.newGraphNotNeeded(TestNGProjectAction.java:141) at hudson.plugins.testng.TestNGProjectAction.doGraph(TestNGProjectAction.java:114) at ... {code} The problem is {{TestNGProjectAction.newGraphNotNeeded}} calling {{RunList.size}}, which is deprecated since it forces all builds to be loaded immediately.

    Jenkins JIRA | 3 years ago | Jesse Glick
    hudson.model.RunMap$ThisIsHowItsLoaded
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Setup is the same as in JENKINS-23945 except use the {{testng}} branch of the sample project, and configure the TestNG plugin's publisher with {{**/target/surefire-reports/testng-results.xml}}. Even with the fix of JENKINS-23945 applied to Jenkins core, after displaying the job index page all builds are loaded: {code:none} ... FINER hudson.model.Run reload lazy-load-perf #71 @... ... FINEST hudson.model.RunMap Loaded lazy-load-perf #71 hudson.model.RunMap$ThisIsHowItsLoaded at hudson.model.RunMap.retrieve(RunMap.java:221) at hudson.model.RunMap.retrieve(RunMap.java:56) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:688) at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:650) at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:382) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:70) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:59) at java.util.AbstractMap$2$1.next(AbstractMap.java:385) at hudson.util.RunList.size(RunList.java:108) at hudson.plugins.testng.TestNGProjectAction.newGraphNotNeeded(TestNGProjectAction.java:141) at hudson.plugins.testng.TestNGProjectAction.doGraph(TestNGProjectAction.java:114) at ... {code} The problem is {{TestNGProjectAction.newGraphNotNeeded}} calling {{RunList.size}}, which is deprecated since it forces all builds to be loaded immediately.

    Jenkins JIRA | 3 years ago | Jesse Glick
    hudson.model.RunMap$ThisIsHowItsLoaded

    Root Cause Analysis

    1. hudson.model.RunMap$ThisIsHowItsLoaded

      No message provided

      at hudson.model.RunMap.retrieve()
    2. Hudson
      RunMap.retrieve
      1. hudson.model.RunMap.retrieve(RunMap.java:221)
      2. hudson.model.RunMap.retrieve(RunMap.java:56)
      2 frames
    3. jenkins.model.lazy
      LazyBuildMixIn$RunMixIn.getPreviousBuild
      1. jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:688)
      2. jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:650)
      3. jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:382)
      4. jenkins.model.lazy.LazyBuildMixIn$RunMixIn.getPreviousBuild(LazyBuildMixIn.java:366)
      4 frames
    4. Hudson
      TestResultProjectAction.doTrend
      1. hudson.model.AbstractBuild.getPreviousBuild(AbstractBuild.java:198)
      2. hudson.tasks.test.AbstractTestResultAction.getPreviousResult(AbstractTestResultAction.java:187)
      3. hudson.tasks.test.AbstractTestResultAction.buildDataSet(AbstractTestResultAction.java:270)
      4. hudson.tasks.test.AbstractTestResultAction.doGraph(AbstractTestResultAction.java:232)
      5. hudson.tasks.test.TestResultProjectAction.doTrend(TestResultProjectAction.java:97)
      5 frames