EventReader error with empty Filter

Technote (troubleshooting)


Problem(Abstract)

An error message is produced in the netcool.log by running an EventReader configured with a blank Filter, the associated Policy still runs as desired.

Symptom

The error message is found in the netcool.log file only and is of the format:

WARN [EventFilter] EventFilter.getMatchingPoliciesForEvent: Could not parse the Expression:
java.lang.RuntimeException:
com.micromuse.common.parser.internal.core.ParseException: Encountered ";" at line 1, column 10.
Was expecting one of:
<INTEGER_LITERAL> ...
<FLOAT_LITERAL> ...
<DATETIME_LITERAL> ...
<DATE_LITERAL> ...
"-" ...
"~" ...
"!" ...
"(" ...
"{" ...
"@" ...
"true" ...
"false" ...
<IDENTIFIER> ...
"\"" ...
"\'" ...

at com.micromuse.response.common.parser.IPLPolicy.getNode(IPLPolicy.java:106)
at com.micromuse.response.common.parser.IPLPolicy.execute(IPLPolicy.java:54)
at com.micromuse.response.common.parser.PolicyUtils.parse(PolicyUtils.java:96)
at com.micromuse.response.common.parser.PolicyUtils.parse(PolicyUtils.java:114)
at com.micromuse.response.common.parser.PolicyUtils.parseExpression(PolicyUtils.java:197)
at com.micromuse.response.common.parser.PolicyUtils.testExpression(PolicyUtils.java:350)
at com.micromuse.response.common.parser.PolicyUtils.testExpression(PolicyUtils.java:344)
at com.micromuse.response.event.EventFilter.getMatchingPoliciesForEvent(EventFilter.java:271)
at com.micromuse.response.service.AbstractEventReader.run(AbstractEventReader.java:524)
at java.lang.Thread.run(Thread.java:736)
Caused by: com.micromuse.common.parser.internal.core.ParseException:
Encountered ";" at line 1, column 10.
Was expecting one of:
<INTEGER_LITERAL> ...
<FLOAT_LITERAL> ...
<DATETIME_LITERAL> ...
<DATE_LITERAL> ...
"-" ...
"~" ...
"!" ...
"(" ...
"{" ...
"@" ...
"true" ...
"false" ...
<IDENTIFIER> ...
"\"" ...
"\'" ...

at java.lang.Throwable.<init>(Throwable.java:67)
at com.micromuse.common.parser.internal.core.ParseException.<init>(ParseException.java:32)
at com.micromuse.common.parser.internal.core.PolicyParser.generateParseException(PolicyParser.java:2831)
at com.micromuse.common.parser.internal.core.PolicyParser.jj_consume_token(PolicyParser.java:2746)
at com.micromuse.common.parser.internal.core.PolicyParser.UnaryExpression(PolicyParser.java:1391)
at com.micromuse.common.parser.internal.core.PolicyParser.InExpression(PolicyParser.java:1215)
at com.micromuse.common.parser.internal.core.PolicyParser.RegularExpression(PolicyParser.java:1139)
at com.micromuse.common.parser.internal.core.PolicyParser.MultiplicativeExpression(PolicyParser.java:1035)
at com.micromuse.common.parser.internal.core.PolicyParser.AdditiveExpression(PolicyParser.java:959)
at com.micromuse.common.parser.internal.core.PolicyParser.RelationalExpression(PolicyParser.java:827)
at com.micromuse.common.parser.internal.core.PolicyParser.EqualityExpression(PolicyParser.java:725)
at com.micromuse.common.parser.internal.core.PolicyParser.AndExpression(PolicyParser.java:685)
at com.micromuse.common.parser.internal.core.PolicyParser.ExclusiveOrExpression(PolicyParser.java:645)
at com.micromuse.common.parser.internal.core.PolicyParser.InclusiveOrExpression(PolicyParser.java:605)
at com.micromuse.common.parser.internal.core.PolicyParser.ConditionalAndExpression(PolicyParser.java:553)
at com.micromuse.common.parser.internal.core.PolicyParser.ConditionalOrExpression(PolicyParser.java:512)
at com.micromuse.common.parser.internal.core.PolicyParser.Expression(PolicyParser.java:476)
at com.micromuse.common.parser.internal.core.PolicyParser.Assignment(PolicyParser.java:488)
at com.micromuse.common.parser.internal.core.PolicyParser.StatementExpression(PolicyParser.java:2376)
at com.micromuse.common.parser.internal.core.PolicyParser.Statement(PolicyParser.java:2263)
at com.micromuse.common.parser.internal.core.PolicyParser.CompilationUnit(PolicyParser.java:113)
at com.micromuse.response.common.parser.IPLPolicy.getNode(IPLPolicy.java:99)
... 9 more

Cause

This has been identified as a product defect under APAR IV35827

Resolving the problem

The error is seen in the netcool.log file, but not in the EventReader or PolicyLogger log files. Also, since it is only of "WARN" level it does not appear in the netcool-errors.log file. Obviously it is a syntax checker being invoked prior to the process being launched and this can't cope with a blank value preceding the delimiter used in the list of Filter values.

There is currently no solution for this issue, but this is being worked upon under APAR IV35827.

I must take this opportunity to advise against the use of a blank Filter as this would lead to every event in the ObjectServer being processed repeatedly by the associated Policy upon insertion to the ObjectServer, DeDuplication and even Impact update. I would strongly urge to use of a flag field to mark an event as processed and/or its state or way-point within processing. Link to follow to TechNote on use of ImpactFlag.

Related information

APAR IV35827

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Tivoli Netcool/Impact
Netcool/Impact

Software version:

6.1

Operating system(s):

AIX, HP-UX, Linux, Solaris, Windows

Reference #:

1624345

Modified date:

2013-02-13

Translate my page

Machine Translation

Content navigation