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

Archiving artifacts takes a long time when the pattern does not match



    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: core
    • Labels:
    • Environment:
      Debian 9 & Debian 10 with various Jenkins versions up to and including v2.204.4.
    • Similar Issues:


      I have a matrix job that is configured with:

      Archive the artifacts: bsoe/publish/*.bsfw.sha1.txt

      Not all of the matrix combinations are expected to generate artifacts. The build log for one that does not contains:

      14:34:48 Archiving artifacts
      14:38:34 ‘bsoe/publish/*.bsfw.sha1.txt’ doesn’t match anything: ‘bsoe’ exists but not ‘bsoe/publish/*.bsfw.sha1.txt’
      14:38:34 No artifacts found that match the file pattern "bsoe/publish/*.bsfw.sha1.txt". Configuration error?

      The error message is expected because the bsoe/publish directory is empty. However, I don't expect it to take ~4 minutes to discover that it needs to report that. If I run strace on the Java thread that appears to be busy during this time I can see it attempting to open (what looks like) every single file in the workspace with O_DIRECTORY and failing because the file is not a directory. If it successfully opens a directory then it calls fstat and getdents a few times before closing it. It looks like the glob pattern matcher has gone wild.

      If I make the job create a dummy file that does match the pattern then the error goes away and archiving is quick.

      (To be clear, the filenames I see in the strace output are not underneath bsoe/publish, they are elsewhere in the workspace.)

      Expected behaviour: Archiving no artifacts should take negligible time.
      Actual behaviour: Archiving no artifacts takes several minutes with a large workspace.



          There are no comments yet on this issue.


            Unassigned Unassigned
            mcrowe Mike Crowe
            0 Vote for this issue
            1 Start watching this issue