Bug 1126047 - Agent awaits shutdown of ProcessExecutor idle worker thread; should terminate immediately
Summary: Agent awaits shutdown of ProcessExecutor idle worker thread; should terminate...
Status: ON_QA
Alias: None
Product: RHQ Project
Classification: Other
Component: Agent
Version: 4.10,4.9,4.11,4.12
Hardware: Unspecified
OS: Unspecified
low vote
Target Milestone: ---
: RHQ 4.13
Assignee: Thomas Segismont
QA Contact: Mike Foley
Depends On:
TreeView+ depends on / blocked
Reported: 2014-08-01 16:58 UTC by Thomas Segismont
Modified: 2014-08-22 12:56 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed:

Attachments (Terms of Use)
RHQ Agent Wrapper log file with thread dump (10.49 KB, text/x-log)
2014-08-01 16:58 UTC, Thomas Segismont
no flags Details

System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 872738 0 unspecified CLOSED Agent awaits shutdown of ProcessExecutor idle worker thread; should terminate immediately 2021-02-22 00:41:40 UTC

Internal Links: 872738

Description Thomas Segismont 2014-08-01 16:58:41 UTC
Created attachment 923367 [details]
RHQ Agent Wrapper log file with thread dump

Description of problem:
The agent is waiting for shutdown of idle worker threads (the threads which read external process output and error streams)

Version-Release number of selected component (if applicable):
4.9 -> 4.12

How reproducible:

Steps to Reproduce:
1.Inventory an EAP6 server
2.Invoke operation restart
3.Wait for the EAP6 server to come back up
4.Execute rhqctl --agent restart

Actual results:
The agent awaits shutdown of ProcessExecutor idle worker thread

Expected results:
The agent should terminate immediately

Additional info:
See thread dump in agent wrapper log file attached

Comment 1 John Mazzitelli 2014-08-01 17:05:42 UTC
well, I'm not convinced yet this is a problem. Why should the agent terminate immediately? In this case, it is waiting to finish doing what it was told to do (that is, restart EAP through the restart operation - the EAP restart hasn't finished yet, right?).

I would rather the agent finish managing the production resource (that is, finish restarting the EAP instance) than have the management tool (the agent) immediately die and not finish. 

Or do I misunderstand the problem that is being reported?

Comment 2 Thomas Segismont 2014-08-01 17:08:45 UTC
The operation finished and marked as such in the UI, that's not the problem. Look at the attached file. We have two threads reading the output of a running process.

Comment 3 Thomas Segismont 2014-08-22 12:56:56 UTC
Fixed in master

commit 1d0cff83d968509ee98f2b4934c1226c8bb332ce
Author: Thomas Segismont <tsegismo@redhat.com>
Date:   Fri Aug 22 14:55:43 2014 +0200
There's no need to block the JVM while waiting for a process completion or pumping process streams

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