-
Improvement
-
Resolution: Fixed
-
Major
In Jenkins thread dump I can see something like this:
pool-4-thread-18865
"pool-4-thread-18865" Id=375223 Group=main TIMED_WAITING on java.util.concurrent.SynchronousQueue$TransferStack@1412ebc5
at sun.misc.Unsafe.park(Native Method)
- waiting on java.util.concurrent.SynchronousQueue$TransferStack@1412ebc5
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:955)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:917)
at java.lang.Thread.run(Thread.java:662)
pool-4-thread-18866
"pool-4-thread-18866" Id=375224 Group=main BLOCKED on com.thoughtworks.xstream.mapper.AnnotationMapper$WeakHashSet@41deb94c owned by "pool-4-thread-18870" Id=375228
My guess is, that these pools are the tread pools of the executors asssociated to channels as constructred e.g. in Launcher#main
Would be nice, if theses pools/threads would have non-generic name - i.e. names which make it obvious where the threads come form
- is related to
-
JENKINS-13154 Heavy thread congestion with FingerPrint.save
- Resolved