Bug 1128276

Summary: Custom time range, if set with invalid wrong range, cannot set back
Product: [Other] RHQ Project Reporter: Elias Ross <genman>
Component: Core UIAssignee: Nobody <nobody>
Status: ON_QA --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.12CC: hrupp
Target Milestone: ---   
Target Release: RHQ 4.13   
Hardware: Unspecified   
OS: Mac OS   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1129063 (view as bug list) Environment:
Last Closed: 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: 1141796    
Bug Blocks: 1129063    

Description Elias Ross 2014-08-08 18:47:17 UTC
Description of problem:

Monitoring -> Metrics tab, if you enter a time range with the wrong time, where start time is NOT before end time, usually by mistake, then UI will show an info warning, then "Cannot load metrics", then throw an exception in the log:

Caused by: java.lang.IllegalArgumentException: Start date 1412876100000 is not before 1407522900000
        at org.rhq.enterprise.server.measurement.MeasurementDataManagerBean.getMeasurementAggregate(MeasurementDataManagerBean.java:664) [rhq-server.jar:4.12.0]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0]

Then, you cannot seem to reset the time range. The predefined ranges (1h, 4h, etc.) don't seem to do anything.


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


How reproducible:


Steps to Reproduce:
0. Custom date range select
1. Enter start date in future, like Oct 12, 2014 (I wanted 2013)
2. Enter end date as current time
3. Save

Actual results: 
Three errors, one helpful, the next saying cannot load metrics, then an exception in the logs.

Expected results:
Probably should just prevent the user from entering bad data?

Additional info:
Chrome browser

Comment 1 Elias Ross 2014-08-08 19:22:29 UTC
Also I noticed the time range is saved in the database and cannot be fixed through the UI.

    ".resource.common.monitor.visibility.metricRange": "1412876100000|1407522900000",
    ".resource.common.monitor.visibility.metricRange.ro": "true",

This is stored in my user's configuration. The work-around is to use the RHQ cli to modify the config stuff.

... find Subject s
        var conf = s.getUserConfiguration()
        conf.getProperties().clear()
        SubjectManager.updateSubject(s);

Comment 2 Jirka Kremser 2014-08-11 15:43:46 UTC
Nice catch, Elias.

branch:  master
link:    https://github.com/rhq-project/rhq/commit/67c7f3f02
time:    2014-08-11 17:40:18 +0200
commit:  67c7f3f024e99b90b8412d0da8c4d0cc4971c492
author:  Jirka Kremser - jkremser
message: [BZ 1128276] - Custom time range, if set with invalid wrong range,
         cannot set back - Adding a client side validation in web UI