Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-329

Fix cascading Storm failure by improving reconnection strategy and buffering messages


    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.9.2-incubating, 0.9.3
    • Fix Version/s: 0.10.0, 0.9.4
    • Component/s: storm-core
    • Labels:


      Note: The original title of this ticket was: "Add Option to Config Message handling strategy when connection timeout".

      This is to address a concern brought up during the work at STORM-297:

      Robert Joseph Evans wrote: Your logic makes since to me on why these calls are blocking. My biggest concern around the blocking is in the case of a worker crashing. If a single worker crashes this can block the entire topology from executing until that worker comes back up. In some cases I can see that being something that you would want. In other cases I can see speed being the primary concern and some users would like to get partial data fast, rather then accurate data later.

      Could we make it configurable on a follow up JIRA where we can have a max limit to the buffering that is allowed, before we block, or throw data away (which is what zeromq does)?

      If some worker crash suddenly, how to handle the message which was supposed to be delivered to the worker?

      1. Should we buffer all message infinitely?
      2. Should we block the message sending until the connection is resumed?
      3. Should we config a buffer limit, try to buffer the message first, if the limit is met, then block?
      4. Should we neither block, nor buffer too much, but choose to drop the messages, and use the built-in storm failover mechanism?


        1. storm-329.patch
          15 kB
          Sean Zhong
        2. worker-kill-recover3.jpg
          39 kB
          Sean Zhong

          Issue Links



              • Assignee:
                miguno Michael Noll
                clockfly Sean Zhong
              • Votes:
                4 Vote for this issue
                17 Start watching this issue


                • Created: