-
Bug
-
Resolution: Fixed
-
Major
-
None
ViewJob.removeRun was implemented to just mark the build list (e.g. for an external monitor job) as "dirty", so that the next time the build list was requested, a reload task would be scheduled, and the next time after that the build would actually disappear. But if you configured the job to use LogRotator then each time that ran, Run.delete after deleting a build directory would ask to remove the build from the list, but the next rotation would still see this ghost build in the list and try to delete it again, which would of course fail with
... hudson.model.Run execute SEVERE: Failed to rotate log java.io.IOException: .../jobs/.../builds/2013-... is in use at hudson.model.Run.delete(Run.java:1264) at hudson.tasks.LogRotator.perform(LogRotator.java:132) at hudson.model.Job.logRotate(Job.java:337) at hudson.model.Run.execute(Run.java:1525) at hudson.model.ExternalRun.acceptRemoteSubmission(ExternalRun.java:104) at hudson.model.ExternalJob.doPostBuildResult(ExternalJob.java:102)
For a frequently run task, these warnings could fill up the log, though it seems otherwise harmless since all the builds do eventually get deleted.
- is related to
-
JENKINS-22395 Run.delete (from LogRotator) failing with "...looks to have already been deleted"
-
- Resolved
-
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
core/src/main/java/hudson/model/ViewJob.java
test/src/test/java/hudson/model/ViewJobTest.java
http://jenkins-ci.org/commit/jenkins/bf444887ac16cc802695827da0a0f30949aa0f1f
Log:
[FIXED JENKINS-19377] ViewJob.removeRun must take effect synchronously or LogRotator gets confused.
Compare: https://github.com/jenkinsci/jenkins/compare/d19a70acf472...bf444887ac16