You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@helix.apache.org by "dafu (JIRA)" <ji...@apache.org> on 2013/08/05 23:56:48 UTC

[jira] [Created] (HELIX-195) Race condition between FINALIZE callbacks and Zk Callbacks

dafu created HELIX-195:
--------------------------

             Summary: Race condition between FINALIZE callbacks and Zk Callbacks
                 Key: HELIX-195
                 URL: https://issues.apache.org/jira/browse/HELIX-195
             Project: Apache Helix
          Issue Type: Sub-task
            Reporter: dafu
            Assignee: dafu


FINALIZE callbacks are sent async via CallbackHandler#reset(), while Zk callbacks are queued in ZkEventThread. It's possible that we are handling a FINALIZE callback before all Zk callbacks are cleaned up. This creates race conditions, for example, in zk session expiry, when a GenericController gets a FINALIZE callback, it cleans up all listeners using ZkClient#unsubscribe(), but Zk callbacks  leftover in ZkEventThread comes later, and re-subscribe all listeners, causing watcher leaking.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira