JRobin VDEFs sometimes do not work

Description

The JRobinRrdStrategy was enhanced in version 1.8.5 to support the use of VDEFs (for e.g. calculating 95th percentile) in resource graphs on systems where JRobin is used to store RRD data. ML_cms reports via the IRC channel that the resource graph described at the following URL does not work for him in OpenNMS 1.8.7:

http://www.opennms.org/wiki/Graph_Gallery#Bits_In.2FOut_integrating_Bandwidth_Utilization

Investigation showed that the data sources (DEFs and CDEFs) needed to calculate a VDEF's value were not always being evaluated in the right order. This problem was due to the use of a HashMap in an operation sensitive to ordering. I've updated an existing unit test to illustrate the problem and have a fix ready to check in.

Environment

Any system using the JRobin RRD strategy

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Jeff Gehlbach July 5, 2011 at 9:15 PM

Resolving broader issue, Ken will create a more specific one for the remaining problem.

Ken Eshelby July 5, 2011 at 8:31 PM

Ok, I can't resolve it.. so I will leave it to the watchers.

Ken Eshelby July 5, 2011 at 8:30 PM

Thanks Ron. That indeed fixes the JRobin definition (but breaks the RRD definition).

I am going to make up a bug for this specific issue and resolve this one.

Ron Roskens June 30, 2011 at 12:46 PM

Ken,

JRobin seems to require a format of GPRINT:<cdef/vdef>:<consolfun>:<printstring>. Since the 95th percentile vdefs aren't shown that way, thats why they generate an exception. Add a :AVERAGE after them and the graphs should load.

Ken Eshelby June 29, 2011 at 9:00 PM

Last comment based on a 1.8.12 install.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

PagerDuty

Created December 10, 2010 at 3:12 PM
Updated January 27, 2017 at 4:20 PM
Resolved July 5, 2011 at 9:15 PM