Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1056987

Summary: LowMemoryException causes unexpected error in KPI panels
Product: [Retired] JBoss BPMS Platform 6 Reporter: Jan Hrcek <jhrcek>
Component: BAMAssignee: David Gutierrez <dgutierr>
Status: CLOSED NOTABUG QA Contact: Jan Hrcek <jhrcek>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0.0CC: kverlaen, pzapataf
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-24 11:59:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Unexpected errors in KPIs
none
server.log showing lots of LowMemoryExceptions none

Description Jan Hrcek 2014-01-23 10:02:28 UTC
Created attachment 854273 [details]
Unexpected errors in KPIs

Description of problem:
The mechanism which was recently implemented to prevent dashbuilder against CPU or memory intensive requests (see Bug 1024803) is causing some problems when loading KPI panels. Sometimes KPI data are not loaded within the memory constraints and the KPI panel displays UNEXPECTED ERROR (see screenshot).

I feel, that the situation when KPI fails to load dataset because of broken constraint, the panel should display some more user friendly message (in the spirit of "Failed to load data from the server: running out of memory")


Version-Release number of selected component (if applicable):
BPMS 6.0.0 CR1

How reproducible:
It happens always when using IBM JDK 1.6 with defaul memory settings (it has probably higher memory consupmtion)

But I can reproduce easily also locally on my machine with Oracle JDK 1.7 by artificially lowering heap size of the EAP.

Steps to Reproduce:
1. Lower the JVM Heap memory settings of the EAP by going to $EAP_HOME/bin/standalone.conf
and replace JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"

with something like (or a bit higher to still enable server to start and deploy applications correctly):

"JAVA_OPTS="-Xms200m -Xmx200m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"

2. Go to some dashbuilder page with KPIs and try reloading the page several times or try some drill down operations.

Actual results:
Very soon some KPI fails to load and you will see UNEXPECTED ERROR as in the screenshot.

Expected results:
Since this is a controlled situation I would rather see some more user friendly message displayed in the KPI panel not to scare business users. As is for example the case in the DataProvider panel: When user tries to load dataset which is too large,the user friendly warning 'Data set load time has been exceeded = 10.0s' is displayed and loading of data is stopped.

Comment 1 Jan Hrcek 2014-01-23 10:05:04 UTC
Created attachment 854274 [details]
server.log showing lots of LowMemoryExceptions

Comment 2 Pedro Zapata 2014-01-24 11:51:54 UTC
Related to this, it's important to set minimal requirements in terms of memory and permsize, specially for BPMS, given there are two webapps installed that can be very memory-consuming -specially BAM-.

This situation is reported (can't be really controlled if no memory is left) by the error management system, however some esthetic improvement could be made to the reporting  error screen, which provides a very generic message. Technical details are already hidden by default.

Comment 4 Jan Hrcek 2014-06-24 11:59:27 UTC
It is possible to avoid these errors by tuning jvm heap size properly. Closing as not a bug.