Uploaded image for project: 'Apache Helix'
  1. Apache Helix
  2. HELIX-134 HelixManager zk session expiry/gc handling
  3. HELIX-121

Possible race condition in ZkHelixManager.disconnect() during zk session expiry

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • Sprint #4 10/2 - 10/16

    Description

      There is race condition in ZkHelixManager.disconnect() during zk session expiry. If someone calls ZkHelixManager.disconnect() when zk session expiry happens, the real shutdown work may be skipped:

      public void disconnect()
      {
      if (!isConnected())

      { logger.error("ClusterManager " + _instanceName + " already disconnected"); return; }

      disconnectInternal();
      }

      And when zk connection comes back again, the zk manager instance will come alive again even though the instance might be considered dead already.

      Attachments

        Activity

          People

            dafu Zhen Zhang
            dafu Zhen Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: