Thanks for the reply Bobby.
What are the symptoms that may arise as a result of this?


On Wed, May 14, 2014 at 8:20 PM, Bobby Evans <[email protected]> wrote:

> The output collector is not thread safe.  As such some odd things can
> happen if it is called from multiple threads.  The reality is that in some
> cases, if there are more tasks then executor threads, which is not that
> common, then you need to follow (1).  But storm itself does not follow
> this convention either for the shell spout/bolt and has resulted in some
> issues.  In general 2 or 3 should be fine so long as you have the same
> number of executor threads as you have tasks.
>
> ‹Bobby
>
> On 5/14/14, 8:39 AM, "Srinath C" <[email protected]> wrote:
>
> >Hi,
> >   Can someone explain the internals behind "NPE from deep inside
> >storm<
> https://github.com/nathanmarz/storm/wiki/Troubleshooting#nullpointer
> >exception-from-deep-inside-storm>"
> >as stated in troubleshooting document? (like is there a use of thread
> >locals, etc)
> >   Does it imply (which of the following)?:
> >      (1) only storm's executor thread should use the output collector
> >      (2) output collector should be invoked from one thread throughout
> >its
> >lifetime - either from storm's executor thread or any thread that that
> >topology spawns
> >      (3) any number of threads can use it as long as the access is
> >synchronized (maybe like synchronized(outputCollector) {...})
> >
> >   The code is in clojure and hence I'm not able to follow what could
> >enforce such a restriction.
> >
> >Thanks,
> >Srinath.
>
>

Reply via email to