Bug 1126047 - Agent awaits shutdown of ProcessExecutor idle worker thread; should terminate immediately
Agent awaits shutdown of ProcessExecutor idle worker thread; should terminate...
Status: ON_QA
Product: RHQ Project
Classification: Other
Component: Agent (Show other bugs)
Unspecified Unspecified
unspecified Severity low (vote)
: ---
: RHQ 4.13
Assigned To: Thomas Segismont
Mike Foley
Depends On:
  Show dependency treegraph
Reported: 2014-08-01 12:58 EDT by Thomas Segismont
Modified: 2014-08-22 08:56 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

  None (edit)
Description Thomas Segismont 2014-08-01 12:58:41 EDT
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 13:05:42 EDT
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 13:08:45 EDT
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 08:56:56 EDT
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.