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

Backpressure flag not sync if zookeeper connection errors

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.0.0, 2.0.0
    • Fix Version/s: 2.0.0, 1.0.1
    • Component/s: None
    • Labels:
      None

      Description

      When there is a zk exception happens during worker-backpressure!,
      there is a bad state which can block the topology from running normally any more.

      The root cause: in worker/mk-backpressure-handler
      if the worker-backpressure! fails once due to zk connection exception,
      next time when this method gets called by WordBackpressureThread, because (when (not= prev-backpressure-flag curr-backpressure-flag) will never be true, the remote zk node can not be synced with local state.

      This also explains why we will not see any problem when testing in a stable (zk never fail) environment.

      Solution is quite straightforward: first change the zk status, if succeeds, change local status.

      This fixes the hidden bug and removes redundant flags in executor-data and worker-data (since we can get the executor status directly from the "_throttleOn" boolean in the DisruptorQueue)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                zhuoliu Zhuo Liu
                Reporter:
                zhuoliu Zhuo Liu
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: