Uploaded image for project: 'OpenNMS'
  1. OpenNMS
  2. NMS-12793

Resource Graph properties throws exception if label starts with a number

    XMLWordPrintable

    Details

    • Sprint:
      Horizon 2020 - July 8, Horizon 2020 - July 22, Horizon 2020 - August 5
    • HB Backlog Status:
      Backlog

      Description

      Hi,

      With the 2019.1.5 version, we are having problems with some of our graphs where we draw graphs that are including multiple nodes in a single graph. To define unique labels from different nodes, we are using the foreign ids. Here is an example:

      DEF:8C32095E_A731_435C_9FBF_F3AF9F005FFB_bwSNMPProcessMetricsGCPauseTimeAvgLastInt_rawdef={rrd1}:bwSNMPProcessMetric:AVERAGE \

       

      What we have observed is that whenever we are dealing with a node whose foreign id starts with a number instead of a letter, we get the following exception:

      Caused by: org.apache.commons.jexl2.JexlException$Parsing: C32095E_A731_435C_9FBF_F3AF9F005FFB_bwSNMPProcessMetricsGCPauseTimeAvgLastInt_rawdef@1:2 parsing error near '... Ambiguous st ...'

              at org.apache.commons.jexl2.parser.JexlParser.jjtreeCloseNodeScope(JexlParser.java:126) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.apache.commons.jexl2.parser.Parser.ExpressionStatement(Parser.java:274) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.apache.commons.jexl2.parser.Parser.Statement(Parser.java:140) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.apache.commons.jexl2.parser.Parser.JexlScript(Parser.java:72) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.apache.commons.jexl2.parser.Parser.parse(Parser.java:24) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.apache.commons.jexl2.JexlEngine.parse(JexlEngine.java:1248) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.apache.commons.jexl2.JexlEngine.createExpression(JexlEngine.java:435) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.apache.commons.jexl2.JexlEngine.createExpression(JexlEngine.java:419) ~[commons-jexl-2.1.1.jar:2.1.1]

              at org.opennms.netmgt.measurements.impl.JEXLExpressionEngine.applyExpressions(JEXLExpressionEngine.java:111) ~[org.opennms.features.measurements.impl-25.0.0-SNAPSHOT.jar:?]

       

      Note that dashes in the label don’t seem to be accepted either.

       

      For example this works:

      DEF:BE4F9D54_3083_4F45_8418_7392265FA840_bwSNMPProcessMetricsGCPauseTimeAvgLastInt_rawdef={rrd1}:bwSNMPProcessMetric:AVERAGE \

       

      Were you aware of this restriction? Is that intentional? If not, then could you please fix it? Otherwise, please advise how to handle this problem.

       

      Thanks

        Attachments

        1. screenshot-1.png
          21 kB
          Patrick Schweizer

          Issue Links

            Activity

              People

              Assignee:
              patrick.schweizer Patrick Schweizer
              Reporter:
              gbuyukba Gulen Buyukbayram
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                HB Grooming Date:

                  Git Integration