[
https://issues.apache.org/jira/browse/STORM-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15229815#comment-15229815
]
ASF GitHub Bot commented on STORM-1642:
---------------------------------------
Github user abhishekagarwal87 commented on the pull request:
https://github.com/apache/storm/pull/1316#issuecomment-206724794
I can't think of a reason of why would such a message be sent to storm from
outside the cluster. Ideally only cluster machines and daemons should have
access to the worker ports. Or if it indeeds needs to be solved, then a better
method would be to ignore the zero length payload and not add `new
TaskMessage(task, null)`. Before you make any change, let's wait for comments
from someone who is more familiar with this part of code.
> NullPointerException when deserialize
> -------------------------------------
>
> Key: STORM-1642
> URL: https://issues.apache.org/jira/browse/STORM-1642
> Project: Apache Storm
> Issue Type: Bug
> Components: storm-core
> Affects Versions: 0.10.0
> Environment: jdk 8
> Reporter: Renjie Liu
>
> Hi:
> I've encountered the following NPE when storm tries to deserialize. I did not
> use OutputCollector concurrently in my code. The only object we are passing
> between bolts are a thrift object, and we have written a serializer for it.
> I've attached the code of serializer and please help to check whether there
> are any potential bugs there.
> 2016-03-04 17:17:43.583 b.s.util [ERROR] Async loop died!
> java.lang.RuntimeException: java.lang.NullPointerException
> at
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:135)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:106)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.daemon.executor$fn__5694$fn__5707$fn__5758.invoke(executor.clj:819)
> ~[storm-core-0.10.0.jar:0.10.0]
> at backtype.storm.util$async_loop$fn__545.invoke(util.clj:479)
> [storm-core-0.10.0.jar:0.10.0]
> at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
> Caused by: java.lang.NullPointerException
> at com.esotericsoftware.kryo.io.Input.setBuffer(Input.java:57)
> ~[kryo-2.21.jar:?]
> at
> backtype.storm.serialization.KryoTupleDeserializer.deserialize(KryoTupleDeserializer.java:47)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.daemon.executor$mk_task_receiver$fn__5615.invoke(executor.clj:433)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.disruptor$clojure_handler$reify__5189.onEvent(disruptor.clj:58)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:132)
> ~[storm-core-0.10.0.jar:0.10.0]
> ... 6 more
> 2016-03-04 17:17:43.584 b.s.d.executor [ERROR]
> java.lang.RuntimeException: java.lang.NullPointerException
> at
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:135)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:106)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.daemon.executor$fn__5694$fn__5707$fn__5758.invoke(executor.clj:819)
> ~[storm-core-0.10.0.jar:0.10.0]
> at backtype.storm.util$async_loop$fn__545.invoke(util.clj:479)
> [storm-core-0.10.0.jar:0.10.0]
> at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
> Caused by: java.lang.NullPointerException
> at com.esotericsoftware.kryo.io.Input.setBuffer(Input.java:57)
> ~[kryo-2.21.jar:?]
> at
> backtype.storm.serialization.KryoTupleDeserializer.deserialize(KryoTupleDeserializer.java:47)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.daemon.executor$mk_task_receiver$fn__5615.invoke(executor.clj:433)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.disruptor$clojure_handler$reify__5189.onEvent(disruptor.clj:58)
> ~[storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:132)
> ~[storm-core-0.10.0.jar:0.10.0]
> ... 6 more
> 2016-03-04 17:17:43.648 b.s.util [ERROR] Halting process: ("Worker died")
> java.lang.RuntimeException: ("Worker died")
> at backtype.storm.util$exit_process_BANG_.doInvoke(util.clj:336)
> [storm-core-0.10.0.jar:0.10.0]
> at clojure.lang.RestFn.invoke(RestFn.java:423) [clojure-1.6.0.jar:?]
> at
> backtype.storm.daemon.worker$fn__7188$fn__7189.invoke(worker.clj:536)
> [storm-core-0.10.0.jar:0.10.0]
> at
> backtype.storm.daemon.executor$mk_executor_data$fn__5523$fn__5524.invoke(executor.clj:261)
> [storm-core-0.10.0.jar:0.10.0]
> at backtype.storm.util$async_loop$fn__545.invoke(util.clj:489)
> [storm-core-0.10.0.jar:0.10.0]
> at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]
> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)