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

stray message problem when changing servers

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.0
    • Component/s: None
    • Labels:
      None

      Description

      There is a possibility for stray messages from a previous connection to violate ordering and generally cause problems. Here is a scenario: we have a client, C, two followers, F1 and F2, and a leader, L. The client is connected to F1, which is a slow follower. C sends setData("/a", "1") to F1 and then loses the connection, so C reconnects to F2 and sends setData("/a", "2"). it is possible, if F1 is slow enough and the setData("/a", "1") got onto the network before the connection break, for F1 to forward the setData("/a", "1") to L after F2 forwards setData("/a", "2").

      to fix this, the leader should keep track of which follower last registered a session for a client and drop any requests from followers for clients for whom they do not have a registration.

        Attachments

        1. ZOOKEEPER-417.patch
          23 kB
          Benjamin Reed
        2. ZOOKEEPER-417.patch
          22 kB
          Benjamin Reed
        3. ZOOKEEPER-417.patch
          22 kB
          Benjamin Reed
        4. ZOOKEEPER-417.patch
          23 kB
          Benjamin Reed

          Activity

            People

            • Assignee:
              breed Benjamin Reed
              Reporter:
              breed Benjamin Reed
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: