Bug 887320 - Agent raise OutOfMemoryError when adding new Deployment child resource on AS7
Agent raise OutOfMemoryError when adding new Deployment child resource on AS7
Status: CLOSED CURRENTRELEASE
Product: RHQ Project
Classification: Other
Component: Agent (Show other bugs)
4.5
All All
unspecified Severity high (vote)
: ---
: RHQ 4.6
Assigned To: Thomas Segismont
Mike Foley
:
Depends On:
Blocks: 887861
  Show dependency treegraph
 
Reported: 2012-12-14 11:49 EST by Thomas Segismont
Modified: 2013-09-03 10:43 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 887861 (view as bug list)
Environment:
Last Closed: 2013-09-03 10:43:51 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
Stack trace (42.03 KB, text/plain)
2012-12-14 11:50 EST, Thomas Segismont
no flags Details

  None (edit)
Description Thomas Segismont 2012-12-14 11:49:26 EST
Description of problem:
When you try to add new deployment child to an AS7 resource, the agent raise an  OutOfMemoryError.

Version-Release number of selected component (if applicable):
4.6.0-SNAPSHOT

How reproducible:
Always

Steps to Reproduce:
1. Find a simple WAR to deploy
I tried with Jenkins http://mirrors.jenkins-ci.org/war/latest/jenkins.war
2. Go to an AS7 resource page, Inventory/Child Resources tab.
3. Click the toggle button Create Child/Deployment and upload you WAR, then Next and Finish
4. Go to the Inventory/Child History tab
  
Actual results:
The new Created Child history record ends with status failed. A big stack trace ending with OutOfMemoryError is in the history details (see attached stack trace).

Expected results:
The new Created Child history record ends with status success.

Additional info:
* Attached is the server stack trace. The error is catched and passed to the server so it's reported on the server but actually raised in the agent.
* Deploying the same war to a Tomcat 7 resource works. So it may be a problem only for the AS7 plugin
Comment 1 Thomas Segismont 2012-12-14 11:50:28 EST
Created attachment 663660 [details]
Stack trace
Comment 2 Charles Crouch 2012-12-14 12:29:08 EST
Notes:  http://mirrors.jenkins-ci.org/war/latest/jenkins.war is 46mb

Is this also a problem in jon311?
Comment 3 Thomas Segismont 2012-12-17 09:12:22 EST
It's also a jon311 issue.

AS7 plugin uses HttpUrlConnection to talk with management API.

HttpUrlConnection keeps data in memory until output stream is closed if content length is unknown.
Setting transfer mechanism to chunks solves the problem.

master - 52bdd6f
Comment 4 Thomas Segismont 2012-12-17 17:34:48 EST
master - 52bdd6f reverted

Fix worked by chance at first because there was an already active connection to as7.
But HttpUrlConnection does not support auth in streaming mode.
Comment 5 Thomas Segismont 2013-01-21 08:23:09 EST
Bug fixed (ASUploadConnection now uses commons httpclient) instead of HttpUrlConnection from JDK.

master - 84b4cbc
Comment 6 Thomas Segismont 2013-04-08 17:31:45 EDT
Reworked to upgrade to HttpClient 4

master - 21ec5e2
Comment 7 Thomas Segismont 2013-04-09 06:07:39 EDT
Reworked to increased delay in AS7 itests to discover all resources
master - 3b18013
Comment 8 Thomas Segismont 2013-04-10 08:15:35 EDT
All unit and integration tests pass on my box and on Jenkins:
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/RHQ/job/rhq-master/org.rhq$rhq-jboss-as-7-plugin/

Manual testing leads to expected results (see the steps listed in the original description of this bug)
Comment 9 Heiko W. Rupp 2013-09-03 10:43:51 EDT
Bulk closing of issues in old RHQ releases that are in production for a while now.

Please open a new issue when running into an issue.

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