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: ContentAssignee: RHQ Project Maintainer <rhq-maint>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: 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    

Description Charles Crouch 2009-03-04 21:46:00 UTC
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)

Comment 1 Joseph Marques 2009-03-20 06:22:27 UTC
not critical for 1.2, pushing out.

Comment 2 Corey Welton 2009-08-05 18:05:03 UTC
Push to  1.4

Comment 3 Red Hat Bugzilla 2009-11-10 20:45:21 UTC
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-1724


Comment 4 wes hayutin 2010-02-16 16:56:48 UTC
Temporarily adding the keyword "SubBug" so we can be sure we have accounted for all the bugs.

keyword:
new = Tracking + FutureFeature + SubBug

Comment 5 wes hayutin 2010-02-16 17:02:02 UTC
making sure we're not missing any bugs in rhq_triage