nathanmarz/storm — pull request #402 by herberteuler (2012-11-19 06:32:49+00:00)
Title: Fix race condition on zeromq sockets between the threads that send tuple...

Hi Nathan, we are facing the same issue as this one: http://groups.google.com/group/storm-user/browse_thread/thread/932da776159fd063 but we do not see java.lang.VerifyError as Dane did.

As we investigate the issue, we find that the cause of the problem is mainly due to the race condition on using and managing socket connections between the sender threads and the refresher thread. If a worker finds that some of its downstream connections have dead, and refreshes the dead connections, the closed socket may contain NULL values and hence the crash happens.

A patch is attached. How do you think about it?