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

Lock contention on jenkins.model.Nodes.removeNode

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • core
    • None

      We run CI on cloud and the slaves are terminated after one time use, and new slaves are also created on demand. When the slaves number reaches 200 and the throuhput is very slow, and the stacktrace shows over 100 locks parking for

      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <0x00007fd6f216d708> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
        at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
        at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
        at hudson.model.Queue._withLock(Queue.java:1291)
        at hudson.model.Queue.withLock(Queue.java:1176)
        at jenkins.model.Nodes.removeNode(Nodes.java:193)
        at jenkins.model.Jenkins.removeNode(Jenkins.java:1751)
        at hudson.plugins.ec2.EC2OndemandSlave.terminate(EC2OndemandSlave.java:72)
        at hudson.plugins.ec2.EC2OndemandSlave$terminate.call(Unknown Source)

            Unassigned Unassigned
            fengxx Ted Xiao
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: