Bug 534981 (RHQ-1724)
| Summary: | Why do we have 10 Content discovery threads hanging around in the PC? | ||
|---|---|---|---|
| Product: | [Other] RHQ Project | Reporter: | Charles Crouch <ccrouch> |
| Component: | Content | Assignee: | RHQ Project Maintainer <rhq-maint> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | unspecified | CC: | cwelton, hbrock, jshaughn, mazz |
| Target Milestone: | --- | Keywords: | SubBug |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| URL: | http://jira.rhq-project.org/browse/RHQ-1724 | ||
| Whiteboard: | |||
| Fixed In Version: | 1.4 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-05-05 15:19:28 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 565635 | ||
not critical for 1.2, pushing out. Push to 1.4 This bug was previously known as http://jira.rhq-project.org/browse/RHQ-1724 Temporarily adding the keyword "SubBug" so we can be sure we have accounted for all the bugs. keyword: new = Tracking + FutureFeature + SubBug making sure we're not missing any bugs in rhq_triage |
Taking a thread dump of the agent shows we have 10 Content.discovery threads waiting around for something to happen. They seem pretty harmless, but do we really need 10? I don't see any of our other threadpools initialized to such a high number. Thread: Content.discovery-1 : priority:5, demon:true, threadId:80, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-2 : priority:5, demon:true, threadId:82, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-3 : priority:5, demon:true, threadId:83, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-4 : priority:5, demon:true, threadId:84, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-5 : priority:5, demon:true, threadId:85, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-6 : priority:5, demon:true, threadId:86, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-7 : priority:5, demon:true, threadId:87, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-8 : priority:5, demon:true, threadId:88, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-9 : priority:5, demon:true, threadId:89, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595) Thread: Content.discovery-10 : priority:5, demon:true, threadId:90, threadState:WAITING sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:118) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1841) java.util.concurrent.DelayQueue.take(DelayQueue.java:131) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:504) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:497) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674) java.lang.Thread.run(Thread.java:595)