Bug 534981 (RHQ-1724) - Why do we have 10 Content discovery threads hanging around in the PC?
Summary: Why do we have 10 Content discovery threads hanging around in the PC?
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: RHQ-1724
Product: RHQ Project
Classification: Other
Component: Content
Version: unspecified
Hardware: All
OS: All
medium
medium
Target Milestone: ---
: ---
Assignee: RHQ Project Maintainer
QA Contact:
URL: http://jira.rhq-project.org/browse/RH...
Whiteboard:
Depends On:
Blocks: rhq_spearhead
TreeView+ depends on / blocked
 
Reported: 2009-03-04 21:46 UTC by Charles Crouch
Modified: 2015-02-01 23:25 UTC (History)
4 users (show)

Fixed In Version: 1.4
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-05-05 15:19:28 UTC
Embargoed:


Attachments (Terms of Use)

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


Note You need to log in before you can comment on or make changes to this bug.