Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-1436

Add ZOO_TIMED_OUT_STATE sesion event to notify client about timeout during reconnection

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.4.3
    • None
    • c client

    Description

      The zookeeper c client knows how long its session will last, and periodically pings in order to keep that session alive. However, if it loses connection, it hops from ensemble member to ensemble member trying to reform the session - even after the session timeout expires.

      This patch at a new session event (ZOO_TIMED_OUT_STATE) that notifies the user that the session timeout has passed, and we have been unable to reconnect. The event is one-shot per disconnection and get generated from the C-client library itself. The server has no knowledge of this event.

      Example use cases:
      1. Client can try to reconnect to a different set of observers if it unable to connect to the original set of observers.

      2. Client can quickly stop acting as an active server, since other server may already taken over the active role while it is trying to reconnect.

      Attachments

        1. ZOOKEEPER-1436.patch
          13 kB
          Thawan Kooburat
        2. ZOOKEEPER-1436.patch
          13 kB
          Thawan Kooburat

        Activity

          People

            thawan Thawan Kooburat
            thawan Thawan Kooburat
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: