Bug 1134445

Summary: Globally uncaught exception when trying to view graph for the time period when there is no data collected
Product: [JBoss] JBoss Operations Network Reporter: Larry O'Leary <loleary>
Component: UIAssignee: Mike Thompson <mithomps>
Status: CLOSED CURRENTRELEASE QA Contact: Armine Hovsepyan <ahovsepy>
Severity: high Docs Contact:
Priority: high    
Version: JON 3.2.1, JON 3.2.2CC: ahovsepy, bkramer, loleary, mfoley
Target Milestone: ER02Keywords: Regression
Target Release: JON 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
When trying to generate the metric graph for a time period when there was no collected data, a Globally Uncaught Exception was shown in the JBoss ON UI and "lowestValue is null" message was shown in the Message Center. The fix now assigns the measurement definition UOM when no valid values are available, which fixes the reported issue.
Story Points: ---
Clone Of: 1131583 Environment:
Last Closed: 2014-12-11 13:59:34 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:
Bug Depends On: 1092507    
Bug Blocks: 1131583    
Attachments:
Description Flags
metrics_nan none

Description Larry O'Leary 2014-08-27 14:06:35 UTC
+++ This bug was initially created as a clone of Bug #1131583 +++

Description of problem:
When trying to generate the graph for the metric for the time period when there is no collected data, Globally uncaught exception will be shown in the JBoss UI and the following error will be shown in the Message Center:

****
fileName: http://bkramerlt.usersys.redhat.com:7080/coregui/org.rhq.coregui.CoreGUI/C5C5B3F91D68ACB5BF0139DFBBE3299F.cache.html
 lineNumber: 94495: lowestValue is null
   at Unknown.$getJsonMetrics(Unknown Source)
   at Unknown.getJsonMetrics(Unknown Source)
   at Unknown.$drawJsniChart_0(Unknown Source)
   at Unknown.run_26(Unknown Source)
   at Unknown.fire_1(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.apply(Unknown Source)
   at Unknown.entry0(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.anonymous(Unknown Source)
****

Version-Release number of selected component (if applicable):
JBoss ON 3.2.1 and 3.2.2


How reproducible:
Always

Steps to Reproduce:
1. Navigate to Metrics in Monitoring tab;
2. Open the graph (make sure that this is newly added resource so only one-two days of metric is collected for this resource) and press 6m to view 6 months graph


Actual results:
Globally Uncaught Exception will be shown in JBoss ON UI and exception:

*****
fileName: http://bkramerlt.usersys.redhat.com:7080/coregui/org.rhq.coregui.CoreGUI/C5C5B3F91D68ACB5BF0139DFBBE3299F.cache.html
 lineNumber: 94495: lowestValue is null
   at Unknown.$getJsonMetrics(Unknown Source)
   at Unknown.getJsonMetrics(Unknown Source)
   at Unknown.$drawJsniChart_0(Unknown Source)
   at Unknown.run_26(Unknown Source)
   at Unknown.fire_1(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.apply(Unknown Source)
   at Unknown.entry0(Unknown Source)
   at Unknown.anonymous(Unknown Source)
   at Unknown.anonymous(Unknown Source)
*****
will be logged in Message Center.

No exception will be logged in the server.log file.

Expected results:
Empty graph is shown and no exception is thrown.

Additional info:
Run the same test in JBoss ON 3.2.0 but no exception was thrown.

Comment 1 Larry O'Leary 2014-08-27 14:09:22 UTC
Putting to ON_QA as this fix is available in the current ER builds:

Comment https://bugzilla.redhat.com/show_bug.cgi?id=1092507#c5 from upstream bug shows this was in commit:


> commit 17239b3b948a8c2b05a21bd87d25aeed7217020f
> Author: Mike Thompson <mithomps>
> Date:   Tue Apr 29 10:34:00 2014 -0700
> 
>     [BZ 1092507] Globally uncaught exception when selecting an area which doesn't contain data in unfolded graph. Zooming in on range of no data (NaN) causes the lowestValue to become null because there is no low value (there are no valid values at all). This scenario was solved by assigning the measurement definition UOM when no valid values are available.

From comment https://bugzilla.redhat.com/show_bug.cgi?id=1092507#c1 on upstream bug, another set of test steps:

> Another way I reproduced the Globally uncaught exception:
> 
> 1. Navigate to a resource ( RHQ AGENT)
> 2. Navigate to Monitoring->Metrics tab
> 3. Unfold the metric 'Agent-Server clock difference'
> 4. click on the time range '1m' or '3m'( range having no data )
> 5. It display Globally uncaught exception in UI

Comment 2 Armine Hovsepyan 2014-08-28 09:58:01 UTC
Created attachment 931823 [details]
metrics_nan

Comment 3 Armine Hovsepyan 2014-08-28 09:58:23 UTC
verified on jon 3.3 er1
screen-shot attached