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

LogRotator stops cleaning, if a build directory has been deleted externally

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Component/s: core
    • Labels:
    • Environment:
      Any (is a core Jenkins behaviour)
    • Similar Issues:
    • Released As:
      jenkins-2.196

      Description

      The deletion of a build/run in Jenkins is handled by the delete() method.

      It throws an exception, when the build directory on disk has already been removed and stops deleting the build.

      Unfortunately, the hudson.tasks.LogRotator.perform(Job<?, ?>) method does not check for this exception and will STOP cleaning up, once even just one build throws that exception.

      This behaviour can be fixed in the following ways (a pull-request will be uploaded shortly):

      1. The Run.delete() method must still unlink the job, even if the build directory has been removed externally.
      2. The log output of Run.delete() must be made less verbose (it prints the ENTIRE folder content by default, into the job that is doing the cleanup)
      3. The LogRotator.perform() method must handle the exceptions being thrown by delete() gracefully.

       

        Attachments

          Issue Links

            Activity

            There are no comments yet on this issue.

              People

              Assignee:
              mhschroe Martin Schröder
              Reporter:
              mhschroe Martin Schröder
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: