Red Hat Bugzilla – Bug 829399
Large files deployed or managed in content system (WAR/EAR/bundle/etc) can cause OutOfMemory failures
Last modified: 2015-09-02 20:01:04 EDT
Created attachment 589943 [details]
Description of problem:
While trying to deploy a large war (>250 MB) under EAP6 via JON_GUI, it shows that deployment went OK on GUI, while there is a java heap space - OutOfMemory exception in server log.
Version-Release number of selected component (if applicable):
JON - Version: 3.1.0.ER6
Steps to Reproduce:
1. Create child resource under EAP6 as Deployment resource
2. Upload a big war (> 250 MB)
3. Click on Next -> Finish
Big war should have been deployed under EAP6
War is not being deployed under EAP and green message about deployment is being shown. (java heap space error apears.)
Please get attached the log.
java heap space params - "-Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M -Djava.net.preferIPv4Stack=true"
Please ask me for the large war, haven't yet found the best way/place to keep it.
Have you tried this with any other plugin too?
What you describe sounds like a out of memory in the server and seems to have
nothing to do with the As7-plugin.
Please retest the same scenario but with the AS5 or AS4 plugin. As Heiko commented, the issues seems to be related to the content system and not AS7 plugin in particular.
I've checked with EAP5 as well and it's getting java.lang.InterruptedException. Please get attached log.
Created attachment 603219 [details]
Putting this back to ON_DEV, and later we could change either the title (like EAP6) or close and file another bug.
This is a general problem related to memory allocation. The errors occur because a large file is stored in memory during the deployment process. While the problem was spotted so far on the server that is not the only place where it can occur.
The life-cycle of a file:
1) User uploads the file on the server
2) The server stores the file in the database
3) The server sends the file to the agent
4) The agent delivers the file to the managed resource
This process can fail at any point due to running out of memory. Even if the server has enough memory available, that might not be the case for the agent, the managed resource, or even the database itself. The point of failure is unpredictable and it all depends on the configuration and current state of each component of this deployment process.
This a design and implementation problem with the current content system. While there are some better techniques to deal with such large content, the current implementation of the content system uses a memory intensive solution. This is not a regression. As seen so far, the content system works with moderately sized files.
As per 8/20 triage 8/20 pushing to JON312
if deployment fails ...for whatever reason the JON UI should convey this to the user ...
JON should display information in the JON UI (not in the server log ... not in the agent log) that a failure occured.
the actual out-of-memory issue ... that is another issue.
Per triage with loleary, crouch, mfoley: Move to JBoss ON product, set target release JON 3.2, clear priority (will be subject to further triage in JON 3.2 timeframe).
Closing as a duplicate of BZ887861
Tested with a 254 Mo WAR on AS4.2.3, EAP5.1 and EAP6.1
*** This bug has been marked as a duplicate of bug 887861 ***