storm-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kabh...@apache.org
Subject [1/2] storm git commit: STORM-1999 Update docs with OutputCollector's threadsafety
Date Fri, 12 Aug 2016 01:46:48 GMT
Repository: storm
Updated Branches:
  refs/heads/master cb620d3cd -> e8cb02073


STORM-1999 Update docs with OutputCollector's threadsafety

* From Storm 1.0.0, OutputCollector is thread safe


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/3e4d9444
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/3e4d9444
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/3e4d9444

Branch: refs/heads/master
Commit: 3e4d9444c4a637538bf66d36f99c8f36cd50edf5
Parents: 3b1ab3d
Author: Jungtaek Lim <kabhwan@gmail.com>
Authored: Fri Aug 12 08:27:39 2016 +0900
Committer: Jungtaek Lim <kabhwan@gmail.com>
Committed: Fri Aug 12 08:27:39 2016 +0900

----------------------------------------------------------------------
 docs/Troubleshooting.md | 68 --------------------------------------------
 1 file changed, 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/3e4d9444/docs/Troubleshooting.md
----------------------------------------------------------------------
diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md
index 7252077..d01015a 100644
--- a/docs/Troubleshooting.md
+++ b/docs/Troubleshooting.md
@@ -112,71 +112,3 @@ Caused by: java.util.ConcurrentModificationException
 Solution: 
 
  * This means that you're emitting a mutable object as an output tuple. Everything you emit
into the output collector must be immutable. What's happening is that your bolt is modifying
the object while it is being serialized to be sent over the network.
-
-
-### NullPointerException from deep inside Storm
-
-Symptoms:
-
- * You get a NullPointerException that looks something like:
-
-```
-java.lang.RuntimeException: java.lang.NullPointerException
-    at org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:84)
-    at org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:55)
-    at org.apache.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:56)
-    at org.apache.storm.disruptor$consume_loop_STAR_$fn__1596.invoke(disruptor.clj:67)
-    at org.apache.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:662)
-Caused by: java.lang.NullPointerException
-    at org.apache.storm.serialization.KryoTupleSerializer.serialize(KryoTupleSerializer.java:24)
-    at org.apache.storm.daemon.worker$mk_transfer_fn$fn__4126$fn__4130.invoke(worker.clj:99)
-    at org.apache.storm.util$fast_list_map.invoke(util.clj:771)
-    at org.apache.storm.daemon.worker$mk_transfer_fn$fn__4126.invoke(worker.clj:99)
-    at org.apache.storm.daemon.executor$start_batch_transfer__GT_worker_handler_BANG_$fn__3904.invoke(executor.clj:205)
-    at org.apache.storm.disruptor$clojure_handler$reify__1584.onEvent(disruptor.clj:43)
-    at org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:81)
-    ... 6 more
-```
-
-or 
-
-```
-java.lang.RuntimeException: java.lang.NullPointerException
-        at
-org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:128)
-~[storm-core-0.9.3.jar:0.9.3]
-        at
-org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
-~[storm-core-0.9.3.jar:0.9.3]
-        at
-org.apache.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
-~[storm-core-0.9.3.jar:0.9.3]
-        at
-org.apache.storm.disruptor$consume_loop_STAR_$fn__759.invoke(disruptor.clj:94)
-~[storm-core-0.9.3.jar:0.9.3]
-        at org.apache.storm.util$async_loop$fn__458.invoke(util.clj:463)
-~[storm-core-0.9.3.jar:0.9.3]
-        at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na]
-        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
-Caused by: java.lang.NullPointerException: null
-        at clojure.lang.RT.intCast(RT.java:1087) ~[clojure-1.5.1.jar:na]
-        at
-org.apache.storm.daemon.worker$mk_transfer_fn$fn__3548.invoke(worker.clj:129)
-~[storm-core-0.9.3.jar:0.9.3]
-        at
-org.apache.storm.daemon.executor$start_batch_transfer__GT_worker_handler_BANG_$fn__3282.invoke(executor.clj:258)
-~[storm-core-0.9.3.jar:0.9.3]
-        at
-org.apache.storm.disruptor$clojure_handler$reify__746.onEvent(disruptor.clj:58)
-~[storm-core-0.9.3.jar:0.9.3]
-        at
-org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:125)
-~[storm-core-0.9.3.jar:0.9.3]
-        ... 6 common frames omitted
-```
-
-Solution:
-
- * This is caused by having multiple threads issue methods on the `OutputCollector`. All
emits, acks, and fails must happen on the same thread. One subtle way this can happen is if
you make a `IBasicBolt` that emits on a separate thread. `IBasicBolt`'s automatically ack
after execute is called, so this would cause multiple threads to use the `OutputCollector`
leading to this exception. When using a basic bolt, all emits must happen in the same thread
that runs `execute`.


Mime
View raw message