Hi Dima,
Is it possible that the input parser is giving an unreasonable value for 
“destination_ip”?  Or perhaps fails to provide an end quote for that value?  
Does this profile fail on the first message to be consumed, or does it get a 
ways into the data stream and then choke?  In either case, can you look at a 
data dump to see whether the JSON metadata provides a reasonable-looking 
“destination_ip” value?

--Matt

From: Dima Kovalyov <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Wednesday, August 2, 2017 at 12:53 PM
To: "[email protected]" <[email protected]>, "[email protected]" 
<[email protected]>
Subject: profiler Syntax error

Hello Metron dev,

I have created profile:

{
  "profile": "host-talks-to",
  "onlyif": "exists(source_ip)",
  "foreach": "source_ip",
  "init": {
    "in": "HLLP_INIT(5, 6)"
          },
  "update": { "in": "HLLP_ADD(in, destination_ip)" },
  "result": "HLLP_CARDINALITY(in)"
}
And when I stream in data to it, I receive following error:

org.apache.metron.common.dsl.ParseException: Bad 'update' expression: Unable to 
parse: HLLP_ADD(in, destination_ip) due to: 
org.apache.metron.common.dsl.ParseException: Syntax error @ 1:9 no viable 
alternative at input 'HLLP_ADD(in', profile=host-talks-to, 
entity=System.Collections.Generic.KeyValuePair`2[System.String,System.Object][] 
at
From builderBolt in profiler and:


java.lang.OutOfMemoryError: GC overhead limit exceeded at 
java.util.Arrays.copyOfRange(Arrays.java:3664) at 
java.lang.StringBuffer.toString(StringBuffer.java:671) at 
org.json.simple.parser.Yylex.yylex(Yylex.java:598) at

Can you please help figure where the syntax is broken? I can't figure it out as 
it is the same as in:
https://github.com/hortonworks-gallery/metron-rules/blob/master/use-cases/DegreeOfHost/profile.json

Thank you!

- Dima



Reply via email to