I jstack through the analysis of our solr thread found that the total
number of threads 1169 of which 1037 threads are the wait state, the 1037
threads, there are two types of threads is very large, 486 threads with
same trace trace searcherExecutor-5694-thread -1,
searcherExecutor-5694-thread-1 - priority: 5 - threadId: 0x00007f0f0401f000
- nativeId: 0x406a - state: WAITING
stackTrace:
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park (Native Method)
- parking to wait for <0x00007f1787000578> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer $
ConditionObject.await (AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take
(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask
(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run
(ThreadPoolExecutor.java:617)
at java.lang.Thread.run (Thread.java:745)
Locked ownable synchronizers:
- None



546 threads with same stack trace
commitScheduler-5592-thread-1
commitScheduler-5592-thread-1 - priority: 5 - threadId: 0x00007f1174e56000
- nativeId: 0x2120 - state: WAITING
stackTrace:
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park (Native Method)
- parking to wait for <0x00007f174d2011b0> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer $
ConditionObject.await (AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take
(ScheduledThreadPoolExecutor.java:1081)
at java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take
(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask
(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run
(ThreadPoolExecutor.java:617)
at java.lang.Thread.run (Thread.java:745)
Locked ownable synchronizers:
- None

----------------------------------


My question is, what is the relationship between the number of threads in
the commitScheduler thread pool and what? The number of searcherExecutor
thread pool and the above have a relationship, why so much, thank you!

Reply via email to