[ 
https://issues.apache.org/jira/browse/EAGLE-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hao Chen updated EAGLE-41:
--------------------------
    Description: 

Currently Eagle Siddhi CEP engine bolt will always crash once caught with any 
bad message:

2015-11-17 01:42:31 b.s.d.executor [INFO] Prepared bolt 
metricStreamExecutor_0:(8)

2015-11-17 01:42:55 STDIO [ERROR] Nov 17, 2015 1:42:55 AM 
com.lmax.disruptor.FatalExceptionHandler handleEventException
SEVERE: Exception processing: 1 IndexedEvent{streamIndex=0, 
event=Event{timestamp=1447749775529, 
data=[eagle.alert.siddhi.EagleAlertContext@2ce1e618, NA, 
devdbx-003-12315.phx-os1.stratus.dev.ebay.com, freeSpace, shared, 
1547664650590, 10], isExpired=false}}
java.lang.ClassCastException: java.lang.String cannot be cast to 
java.lang.Double
        at 
org.wso2.siddhi.core.executor.condition.compare.less_than.LessThanCompareConditionExpressionExecutorDoubleInt.execute(LessThanCompareConditionExpressionExecutorDoubleInt.java:31)
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:38)
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:23)
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:53)
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:24)
        at 
org.wso2.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:49)
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:93)
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:65)
        at 
org.wso2.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:114)
        at 
org.wso2.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:280)
        at 
org.wso2.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:32)
        at 
org.wso2.siddhi.core.stream.input.SingleThreadEntryValve.send(SingleThreadEntryValve.java:46)
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.sendEvents(SingleStreamEntryValve.java:152)
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:140)
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:110)
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:113)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
2015-11-17 01:42:55 o.a.s.z.s.NIOServerCnxnFactory [ERROR] Thread 
Thread[Siddhi-cc2b5e49-00d8-43ea-bac6-c25d9b7e9332-executor-thread-0,5,main] 
died
java.lang.RuntimeException: java.lang.ClassCastException: java.lang.String 
cannot be cast to java.lang.Double
        at 
com.lmax.disruptor.FatalExceptionHandler.handleEventException(FatalExceptionHandler.java:45)
 ~[disruptor-2.10.1.jar:na]
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128) 
~[disruptor-2.10.1.jar:na]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_60]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
~[na:1.7.0_60]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_60]
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to 
java.lang.Double
        at 
org.wso2.siddhi.core.executor.condition.compare.less_than.LessThanCompareConditionExpressionExecutorDoubleInt.execute(LessThanCompareConditionExpressionExecutorDoubleInt.java:31)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:38)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:23)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:53)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:24)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:49)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:93)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:65)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:114) 
~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:280)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:32)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleThreadEntryValve.send(SingleThreadEntryValve.java:46)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.sendEvents(SingleStreamEntryValve.java:152)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:140)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:110)
 ~[stormjar.jar:na]
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:113) 
~[disruptor-2.10.1.jar:na]
        ... 3 common frames omitted

To fix the problem, we should support to customize ExceptionHandler for Siddhi 
CEP engine before starting the Disruptor threads.

  was:
2015-11-17 01:42:31 b.s.d.executor [INFO] Prepared bolt 
metricStreamExecutor_0:(8)

2015-11-17 01:42:55 STDIO [ERROR] Nov 17, 2015 1:42:55 AM 
com.lmax.disruptor.FatalExceptionHandler handleEventException
SEVERE: Exception processing: 1 IndexedEvent{streamIndex=0, 
event=Event{timestamp=1447749775529, 
data=[eagle.alert.siddhi.EagleAlertContext@2ce1e618, NA, 
devdbx-003-12315.phx-os1.stratus.dev.ebay.com, freeSpace, shared, 
1547664650590, 10], isExpired=false}}
java.lang.ClassCastException: java.lang.String cannot be cast to 
java.lang.Double
        at 
org.wso2.siddhi.core.executor.condition.compare.less_than.LessThanCompareConditionExpressionExecutorDoubleInt.execute(LessThanCompareConditionExpressionExecutorDoubleInt.java:31)
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:38)
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:23)
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:53)
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:24)
        at 
org.wso2.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:49)
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:93)
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:65)
        at 
org.wso2.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:114)
        at 
org.wso2.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:280)
        at 
org.wso2.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:32)
        at 
org.wso2.siddhi.core.stream.input.SingleThreadEntryValve.send(SingleThreadEntryValve.java:46)
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.sendEvents(SingleStreamEntryValve.java:152)
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:140)
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:110)
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:113)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
2015-11-17 01:42:55 o.a.s.z.s.NIOServerCnxnFactory [ERROR] Thread 
Thread[Siddhi-cc2b5e49-00d8-43ea-bac6-c25d9b7e9332-executor-thread-0,5,main] 
died
java.lang.RuntimeException: java.lang.ClassCastException: java.lang.String 
cannot be cast to java.lang.Double
        at 
com.lmax.disruptor.FatalExceptionHandler.handleEventException(FatalExceptionHandler.java:45)
 ~[disruptor-2.10.1.jar:na]
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128) 
~[disruptor-2.10.1.jar:na]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_60]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
~[na:1.7.0_60]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_60]
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to 
java.lang.Double
        at 
org.wso2.siddhi.core.executor.condition.compare.less_than.LessThanCompareConditionExpressionExecutorDoubleInt.execute(LessThanCompareConditionExpressionExecutorDoubleInt.java:31)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:38)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:23)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:53)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:24)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:49)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:93)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:65)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:114) 
~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:280)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:32)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleThreadEntryValve.send(SingleThreadEntryValve.java:46)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.sendEvents(SingleStreamEntryValve.java:152)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:140)
 ~[stormjar.jar:na]
        at 
org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:110)
 ~[stormjar.jar:na]
        at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:113) 
~[disruptor-2.10.1.jar:na]
        ... 3 common frames omitted


> Eagle Siddhi CEP Engine Bolt crash once caught with any bad message
> -------------------------------------------------------------------
>
>                 Key: EAGLE-41
>                 URL: https://issues.apache.org/jira/browse/EAGLE-41
>             Project: Eagle
>          Issue Type: Bug
>            Reporter: Hao Chen
>            Assignee: Hao Chen
>
> Currently Eagle Siddhi CEP engine bolt will always crash once caught with any 
> bad message:
> 2015-11-17 01:42:31 b.s.d.executor [INFO] Prepared bolt 
> metricStreamExecutor_0:(8)
> 2015-11-17 01:42:55 STDIO [ERROR] Nov 17, 2015 1:42:55 AM 
> com.lmax.disruptor.FatalExceptionHandler handleEventException
> SEVERE: Exception processing: 1 IndexedEvent{streamIndex=0, 
> event=Event{timestamp=1447749775529, 
> data=[eagle.alert.siddhi.EagleAlertContext@2ce1e618, NA, 
> devdbx-003-12315.phx-os1.stratus.dev.ebay.com, freeSpace, shared, 
> 1547664650590, 10], isExpired=false}}
> java.lang.ClassCastException: java.lang.String cannot be cast to 
> java.lang.Double
>       at 
> org.wso2.siddhi.core.executor.condition.compare.less_than.LessThanCompareConditionExpressionExecutorDoubleInt.execute(LessThanCompareConditionExpressionExecutorDoubleInt.java:31)
>       at 
> org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:38)
>       at 
> org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:23)
>       at 
> org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:53)
>       at 
> org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:24)
>       at 
> org.wso2.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:49)
>       at 
> org.wso2.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:93)
>       at 
> org.wso2.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:65)
>       at 
> org.wso2.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:114)
>       at 
> org.wso2.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:280)
>       at 
> org.wso2.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:32)
>       at 
> org.wso2.siddhi.core.stream.input.SingleThreadEntryValve.send(SingleThreadEntryValve.java:46)
>       at 
> org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.sendEvents(SingleStreamEntryValve.java:152)
>       at 
> org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:140)
>       at 
> org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:110)
>       at 
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:113)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:745)
> 2015-11-17 01:42:55 o.a.s.z.s.NIOServerCnxnFactory [ERROR] Thread 
> Thread[Siddhi-cc2b5e49-00d8-43ea-bac6-c25d9b7e9332-executor-thread-0,5,main] 
> died
> java.lang.RuntimeException: java.lang.ClassCastException: java.lang.String 
> cannot be cast to java.lang.Double
>       at 
> com.lmax.disruptor.FatalExceptionHandler.handleEventException(FatalExceptionHandler.java:45)
>  ~[disruptor-2.10.1.jar:na]
>       at 
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128) 
> ~[disruptor-2.10.1.jar:na]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_60]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_60]
>       at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_60]
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to 
> java.lang.Double
>       at 
> org.wso2.siddhi.core.executor.condition.compare.less_than.LessThanCompareConditionExpressionExecutorDoubleInt.execute(LessThanCompareConditionExpressionExecutorDoubleInt.java:31)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:38)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.executor.condition.compare.CompareConditionExpressionExecutor.execute(CompareConditionExpressionExecutor.java:23)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:53)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.executor.condition.AndConditionExpressionExecutor.execute(AndConditionExpressionExecutor.java:24)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.query.processor.filter.FilterProcessor.process(FilterProcessor.java:49)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.query.input.ProcessStreamReceiver.processAndClear(ProcessStreamReceiver.java:93)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.query.input.ProcessStreamReceiver.receive(ProcessStreamReceiver.java:65)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.stream.StreamJunction.sendEvent(StreamJunction.java:114) 
> ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.stream.StreamJunction$Publisher.send(StreamJunction.java:280)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.stream.input.InputDistributor.send(InputDistributor.java:32)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.stream.input.SingleThreadEntryValve.send(SingleThreadEntryValve.java:46)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.sendEvents(SingleStreamEntryValve.java:152)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:140)
>  ~[stormjar.jar:na]
>       at 
> org.wso2.siddhi.core.stream.input.SingleStreamEntryValve$SingleEntryValveHandler.onEvent(SingleStreamEntryValve.java:110)
>  ~[stormjar.jar:na]
>       at 
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:113) 
> ~[disruptor-2.10.1.jar:na]
>       ... 3 common frames omitted
> To fix the problem, we should support to customize ExceptionHandler for 
> Siddhi CEP engine before starting the Disruptor threads.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to