Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Abandoned
-
None
-
None
-
None
Description
https://github.com/nathanmarz/storm/issues/637
When tick tuples are enabled for a trident topology, the following exception is produced:
java.lang.RuntimeException: java.lang.ClassCastException: java.lang.Long cannot be cast to storm.trident.topology.TransactionAttempt
at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:87)
at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:58)
at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:62)
at backtype.storm.daemon.executor$fn_4050$fn4059$fn_4106.invoke(executor.clj:658)
at backtype.storm.util$async_loop$fn__465.invoke(util.clj:377)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to storm.trident.topology.TransactionAttempt
at storm.trident.spout.TridentSpoutCoordinator.execute(TridentSpoutCoordinator.java:46)
at backtype.storm.topology.BasicBoltExecutor.execute(BasicBoltExecutor.java:32)
at backtype.storm.daemon.executor$fn_4050$tuple_action_fn_4052.invoke(executor.clj:566)
at backtype.storm.daemon.executor$mk_task_receiver$fn__3976.invoke(executor.clj:348)
at backtype.storm.disruptor$clojure_handler$reify__1606.onEvent(disruptor.clj:43)
at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:84)
... 6 more
Ideally there would be an exception thrown at deploy time saying tick tuples aren't supported for trident topologies.