-
Bug
-
Resolution: Unresolved
-
Critical
-
None
Hello,
I use Jenkins with parallel builds to checkout many packages.
Example:
parallel ( build(build("CheckOut-Package", PACKAGE_NAME: "Package1"); build(build("CheckOut-Package", PACKAGE_NAME: "Package2"); ... build(build("CheckOut-Package", PACKAGE_NAME: "Package10"); )
Each of these jobs calls the log rotator when finished.
Some time, next log appears:
SEVERE: Executor threw an exception java.util.NoSuchElementException at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:76) at jenkins.model.lazy.LazyLoadRunMapEntrySet$1.next(LazyLoadRunMapEntrySet.java:63) at java.util.AbstractMap$2$1.next(AbstractMap.java:385) at hudson.util.RunList.subList(RunList.java:139) at hudson.tasks.LogRotator.perform(LogRotator.java:125) at hudson.model.Job.logRotate(Job.java:467) at hudson.model.Run.execute(Run.java:1808) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:374)
In this case, Jenkins does not detect that the job is finished even if it is indeed finished, and stay stucked.
Since log Rotator should not be a blocking task, I added an exception catch in this PR:
https://github.com/jenkinsci/jenkins/pull/1790
That was enough on my side to handle this very recurrent problem.