Hi All, I use Storm 0.9.4 to develop topology with 1 Spout and 3 Bolts (topology just like attached file shows) which extend BaseBasicBolt. Spout and Bolt are group by shuffle-grouping. My storm cluster configure set 6 slot ports with only 1 supervisor.
Only Bolt D will fail with Error message like while Bolt B do similar works to it, java.lang.RuntimeException: java.lang.NullPointerException at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:128) 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__6637$fn__6649$fn__6696.invoke(executor.clj:748) at backtype.storm.util$async_loop$fn__458.invoke(util.clj:463) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at VideoProcessingTopology$EncodeBolt.execute(VideoProcessingTopology.java:176) at backtype.storm.topology.BasicBoltExecutor.execute(BasicBoltExecutor.java:50) at backtype.storm.daemon.executor$fn__6637$tuple_action_fn__6639.invoke(executor.clj:633) at backtype.storm.daemon.executor$mk_task_receiver$fn__6560.invoke(executor.clj:401) at backtype.storm.disruptor$clojure_handler$reify__4000.onEvent(disruptor.clj:58) at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125) ... 6 more I check some document says this issue is caused by multi-thread operations, but this problem still occur even i set Bolt a empty execute function. By the way, Storm always assign only single slot port to all Bolts, is it correct or i get mistake on Storm environment setting? Best regards, YR
