Bug 1128276 - Custom time range, if set with invalid wrong range, cannot set back
Summary: Custom time range, if set with invalid wrong range, cannot set back
Status: ON_QA
Alias: None
Product: RHQ Project
Classification: Other
Component: Core UI
Version: 4.12
Hardware: Unspecified
OS: Mac OS
high vote
Target Milestone: ---
: RHQ 4.13
Assignee: Jirka Kremser
QA Contact: Mike Foley
Depends On: 1141796
Blocks: 1129063
TreeView+ depends on / blocked
Reported: 2014-08-08 18:47 UTC by Elias Ross
Modified: 2014-09-15 13:26 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1129063 (view as bug list)
Last Closed:

Attachments (Terms of Use)

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()

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@redhat.com
message: [BZ 1128276] - Custom time range, if set with invalid wrong range,
         cannot set back - Adding a client side validation in web UI

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