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

Locking a resource while holding it locked in the same job is not possible

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • Jenkins version 2.363, Lockable Resources plugin version 2.15. Windows 10.

      Locking a resource while holding it locked in the same job like this:

      lock(resource: 'res1'){
        sleep(time: 2, unit: 'SECONDS')
        lock(resource: 'res1'){
          sleep(time: 2, unit: 'SECONDS')
        }
      }
      

      results in indefinite wait:

      Trying to acquire lock on [res1]
      Resource [res1] did not exist. Created.
      Lock acquired on [res1]
      [Pipeline] {
      [Pipeline] sleep
      Sleeping for 2 sec
      [Pipeline] lock
      Trying to acquire lock on [res1]
      Found 0 available resource(s). Waiting for correct amount: 1.
      [res1] is locked by job-name #NN waiting...

      I would expect the inner lock to be granted immediately since the job has already acquired exclusive access to the resource.

            Unassigned Unassigned
            epliskin Eugene Pliskin
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: