You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@eagle.apache.org by "Hao Chen (JIRA)" <ji...@apache.org> on 2016/04/12 07:50:25 UTC
[jira] [Commented] (EAGLE-240)
java.lang.ArrayIndexOutOfBoundsException thrown by PolicyProcessExecutor
[ https://issues.apache.org/jira/browse/EAGLE-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15236639#comment-15236639 ]
Hao Chen commented on EAGLE-240:
--------------------------------
h3. Root Cause
The org.apache.eagle.metric.reportor.MetricKeyCodeDecoder failed to decode metric name if policy id contains white space.
{code}
metricName.tags = new HashMap<>();
for (int i = 1; i < parts.length; i++) {
String[] keyValue = parts[i].split(":");
if(keyValue.length >1) {
metricName.tags.put(keyValue[0], keyValue[1]);
} else {
throw new IllegalStateException("Failed to decode metric name '"+name+"', because '"+parts[i]+"' is invalid, expected in format: 'key:value'");
}
}
{code}
{code}
2016-04-12 13:47:13,509 ERROR [Thread-18-cassandraQueryLogExecutor_0] executor.PolicyProcessExecutor[336]: cassandraQueryLogExecutor, partition 0, error fetching alerts, but continue to run
java.lang.IllegalStateException: Failed to decode metric name 'eagle.policy.eval.count site:sandbox partitionSeq:0 application:cassandraQueryLog source:57347@LM-SHC-00950798 policyId:cf_ customer_details_and_ ks_ dg_keyspace_policy alertExecutorId:cassandraQueryLogExecutor', because 'customer_details_and_' is invalid, expected in format: 'key:value'
at org.apache.eagle.metric.reportor.MetricKeyCodeDecoder.decodeMetricKey(MetricKeyCodeDecoder.java:48)
at org.apache.eagle.metric.reportor.MetricKeyCodeDecoder.decodeTSMetricKey(MetricKeyCodeDecoder.java:64)
at org.apache.eagle.metric.reportor.MetricEntityAdaptor.convert(MetricEntityAdaptor.java:29)
at org.apache.eagle.metric.reportor.EagleServiceReporterMetricListener.onMetricFlushed(EagleServiceReporterMetricListener.java:48)
at org.apache.eagle.metric.reportor.EagleCounterMetric.flush(EagleCounterMetric.java:47)
at org.apache.eagle.metric.reportor.EagleCounterMetric.update(EagleCounterMetric.java:67)
at org.apache.eagle.policy.executor.PolicyProcessExecutor.updateCounter(PolicyProcessExecutor.java:285)
at org.apache.eagle.policy.executor.PolicyProcessExecutor.updateCounter(PolicyProcessExecutor.java:291)
at org.apache.eagle.policy.executor.PolicyProcessExecutor.flatMap(PolicyProcessExecutor.java:325)
at org.apache.eagle.datastream.storm.JavaStormBoltWrapper.execute(JavaStormBoltWrapper.scala:38)
at backtype.storm.daemon.executor$fn__3441$tuple_action_fn__3443.invoke(executor.clj:633)
at backtype.storm.daemon.executor$mk_task_receiver$fn__3364.invoke(executor.clj:401)
at backtype.storm.disruptor$clojure_handler$reify__1447.onEvent(disruptor.clj:58)
at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125)
at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
at backtype.storm.daemon.executor$fn__3441$fn__3453$fn__3500.invoke(executor.clj:748)
at backtype.storm.util$async_loop$fn__464.invoke(util.clj:463)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:745)
{code}
> java.lang.ArrayIndexOutOfBoundsException thrown by PolicyProcessExecutor
> ------------------------------------------------------------------------
>
> Key: EAGLE-240
> URL: https://issues.apache.org/jira/browse/EAGLE-240
> Project: Eagle
> Issue Type: Bug
> Affects Versions: v0.3.0
> Reporter: Hao Chen
> Assignee: Hao Chen
> Labels: policy-engine
>
> {code}
> 2016-04-12 12:56:43,491 ERROR [Thread-18-cassandraQueryLogExecutor_0] executor.PolicyProcessExecutor[336]: cassandraQueryLogExecutor, partition 0, error fetching alerts, but continue to run java.lang.ArrayIndexOutOfBoundsException: 1 at org.apache.eagle.metric.reportor.MetricKeyCodeDecoder.decodeMetricKey(MetricKeyCodeDecoder.java:45) at org.apache.eagle.metric.reportor.MetricKeyCodeDecoder.decodeTSMetricKey(MetricKeyCodeDecoder.java:60) at org.apache.eagle.metric.reportor.MetricEntityAdaptor.convert(MetricEntityAdaptor.java:29) at org.apache.eagle.metric.reportor.EagleServiceReporterMetricListener.onMetricFlushed(EagleServiceReporterMetricListener.java:48) at org.apache.eagle.metric.reportor.EagleCounterMetric.flush(EagleCounterMetric.java:47) at org.apache.eagle.metric.reportor.EagleCounterMetric.update(EagleCounterMetric.java:67) at org.apache.eagle.policy.executor.PolicyProcessExecutor.updateCounter(PolicyProcessExecutor.java:285) at org.apache.eagle.policy.executor.PolicyProcessExecutor.updateCounter(PolicyProcessExecutor.java:291) at org.apache.eagle.policy.executor.PolicyProcessExecutor.flatMap(PolicyProcessExecutor.java:325) at org.apache.eagle.datastream.storm.JavaStormBoltWrapper.execute(JavaStormBoltWrapper.scala:38) at backtype.storm.daemon.executor$fn__3441$tuple_action_fn__3443.invoke(executor.clj:633) at backtype.storm.daemon.executor$mk_task_receiver$fn__3364.invoke(executor.clj:401) at backtype.storm.disruptor$clojure_handler$reify__1447.onEvent(disruptor.clj:58) at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125) at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99) at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80) at backtype.storm.daemon.executor$fn__3441$fn__3453$fn__3500.invoke(executor.clj:748) at backtype.storm.util$async_loop$fn__464.invoke(util.clj:463) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)