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

Queue.maintain does disk I/O via PeepholePermalink.resolve

    XMLWordPrintable

Details

    Description

      https://gist.githubusercontent.com/jglick/de0cf09312d8fce00ab1/raw/gistfile1.txt

      Every time Queue.maintain is called, which is often, for every buildable job in the queue, which could be a lot, Job.getEstimatedDurationCandidates is called. During startup this could do some work loading the last few builds, but we expect those to be held in memory thereafter. However simply finding the last successful/any build involves PeepholePermalink.resolve, which hits the disk every time, with no caching. (It claims to "cache" but this is caching via symlink, not in memory.)

      While we are waiting for the disk I/O operation to complete, the Queue is locked, and lots of other threads will typically be waiting for it.

      Attachments

        Activity

          People

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: