Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.4.0
    • Component/s: server
    • Labels:
      None
    • Release Note:
      Committed revision 1135382.

      Description

      when comparing zxids for leader election, the current epoch of the peer needs to be taken into account.

      1. ZOOKEEPER-1082.patch
        20 kB
        Flavio Junqueira
      2. ZOOKEEPER-1082.patch
        20 kB
        Flavio Junqueira

        Activity

        Hide
        Vishal Kher added a comment -

        Hi Ben,

        Can you please elaborate the situations where the epoch is not currectly accounted for?

        Thanks,
        -Vishal

        Show
        Vishal Kher added a comment - Hi Ben, Can you please elaborate the situations where the epoch is not currectly accounted for? Thanks, -Vishal
        Hide
        Flavio Junqueira added a comment -

        This is actually part of the changes that we are proposing to the Zab implementation, detailed in the wiki, and this particular sub-task is related to a change in leader election. The election needs to take into account not only the highest zxid, but also the epoch of the leader, which might not be the same as the epoch of the last zxid.

        Show
        Flavio Junqueira added a comment - This is actually part of the changes that we are proposing to the Zab implementation, detailed in the wiki, and this particular sub-task is related to a change in leader election. The election needs to take into account not only the highest zxid, but also the epoch of the leader, which might not be the same as the epoch of the last zxid.
        Hide
        Flavio Junqueira added a comment -

        Preliminary patch. It is backward compatible, and tests pass for me. Also, FLELostMessageTest has notification messages hardcoded, which shows that it is backward compatible, but we probably want to implement a little more testing.

        Show
        Flavio Junqueira added a comment - Preliminary patch. It is backward compatible, and tests pass for me. Also, FLELostMessageTest has notification messages hardcoded, which shows that it is backward compatible, but we probably want to implement a little more testing.
        Hide
        Flavio Junqueira added a comment -

        New version of the patch. I have cleaned up a bit and added an explicit FLEBackwardCompatibilityTest class. It is essentially a copy of FLELostMessageTest, but with a hardcoded messages that look like the current notifications in the trunk code.

        Also note that there are no modifications to LeaderElection, so LETest passing indicates that it is backward compatible with respect to that implementation of leader election.

        Show
        Flavio Junqueira added a comment - New version of the patch. I have cleaned up a bit and added an explicit FLEBackwardCompatibilityTest class. It is essentially a copy of FLELostMessageTest, but with a hardcoded messages that look like the current notifications in the trunk code. Also note that there are no modifications to LeaderElection, so LETest passing indicates that it is backward compatible with respect to that implementation of leader election.
        Hide
        Hudson added a comment -

        Integrated in ZooKeeper-trunk #1215 (See https://builds.apache.org/job/ZooKeeper-trunk/1215/)

        Show
        Hudson added a comment - Integrated in ZooKeeper-trunk #1215 (See https://builds.apache.org/job/ZooKeeper-trunk/1215/ )

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development