You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Alexander Shraer (Created) (JIRA)" <ji...@apache.org> on 2011/11/05 21:02:51 UTC

[jira] [Created] (ZOOKEEPER-1291) AcceptedEpoch not updated at leader before it proposes the epoch to followers

AcceptedEpoch not updated at leader before it proposes the epoch to followers
-----------------------------------------------------------------------------

                 Key: ZOOKEEPER-1291
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1291
             Project: ZooKeeper
          Issue Type: Bug
          Components: server
    Affects Versions: 3.4.0
            Reporter: Alexander Shraer
            Assignee: Alexander Shraer
             Fix For: 3.4.0


It is possible that a leader proposes an epoch e and a follower adopts it by setting acceptedEpoch to e but the leader itself hasn't yet done so. 

While I'm not sure this contradicts Zab (there is no description of where the leader actually sets its acceptedEpoch), it is very counter intuitive.

The fix is to set acceptedEpoch in getEpochToPropose, i.e., before anyone LearnerHandler passes the getEpochToPropose barrier.

The fix is done as part of ZK-1264

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (ZOOKEEPER-1291) AcceptedEpoch not updated at leader before it proposes the epoch to followers

Posted by "Alexander Shraer (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ZOOKEEPER-1291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Shraer updated ZOOKEEPER-1291:
----------------------------------------

    Issue Type: Sub-task  (was: Bug)
        Parent: ZOOKEEPER-1264
    
> AcceptedEpoch not updated at leader before it proposes the epoch to followers
> -----------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1291
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1291
>             Project: ZooKeeper
>          Issue Type: Sub-task
>          Components: server
>    Affects Versions: 3.4.0
>            Reporter: Alexander Shraer
>            Assignee: Alexander Shraer
>             Fix For: 3.4.0
>
>
> It is possible that a leader proposes an epoch e and a follower adopts it by setting acceptedEpoch to e but the leader itself hasn't yet done so. 
> While I'm not sure this contradicts Zab (there is no description of where the leader actually sets its acceptedEpoch), it is very counter intuitive.
> The fix is to set acceptedEpoch in getEpochToPropose, i.e., before anyone LearnerHandler passes the getEpochToPropose barrier.
> The fix is done as part of ZK-1264

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (ZOOKEEPER-1291) AcceptedEpoch not updated at leader before it proposes the epoch to followers

Posted by "Camille Fournier (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ZOOKEEPER-1291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Camille Fournier resolved ZOOKEEPER-1291.
-----------------------------------------

       Resolution: Fixed
    Fix Version/s: 3.5.0
     Release Note: Revision 1198053
    
> AcceptedEpoch not updated at leader before it proposes the epoch to followers
> -----------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1291
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1291
>             Project: ZooKeeper
>          Issue Type: Sub-task
>          Components: server
>    Affects Versions: 3.4.0
>            Reporter: Alexander Shraer
>            Assignee: Alexander Shraer
>             Fix For: 3.4.0, 3.5.0
>
>
> It is possible that a leader proposes an epoch e and a follower adopts it by setting acceptedEpoch to e but the leader itself hasn't yet done so. 
> While I'm not sure this contradicts Zab (there is no description of where the leader actually sets its acceptedEpoch), it is very counter intuitive.
> The fix is to set acceptedEpoch in getEpochToPropose, i.e., before anyone LearnerHandler passes the getEpochToPropose barrier.
> The fix is done as part of ZK-1264

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ZOOKEEPER-1291) AcceptedEpoch not updated at leader before it proposes the epoch to followers

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ZOOKEEPER-1291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13144976#comment-13144976 ] 

Hudson commented on ZOOKEEPER-1291:
-----------------------------------

Integrated in ZooKeeper-trunk #1357 (See [https://builds.apache.org/job/ZooKeeper-trunk/1357/])
    ZOOKEEPER-1264. FollowerResyncConcurrencyTest failing intermittently.
ZOOKEEPER-1282. Learner.java not following Zab 1.0 protocol - setCurrentEpoch should be done upon receipt of NEWLEADER (before acking it) and not upon receipt of UPTODATE.
ZOOKEEPER-1291. AcceptedEpoch not updated at leader before it proposes the epoch to followers.

camille : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1198053
Files : 
* /zookeeper/trunk/CHANGES.txt
* /zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Leader.java
* /zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Learner.java
* /zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java
* /zookeeper/trunk/src/java/test/org/apache/zookeeper/test/FollowerResyncConcurrencyTest.java

                
> AcceptedEpoch not updated at leader before it proposes the epoch to followers
> -----------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1291
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1291
>             Project: ZooKeeper
>          Issue Type: Sub-task
>          Components: server
>    Affects Versions: 3.4.0
>            Reporter: Alexander Shraer
>            Assignee: Alexander Shraer
>             Fix For: 3.4.0, 3.5.0
>
>
> It is possible that a leader proposes an epoch e and a follower adopts it by setting acceptedEpoch to e but the leader itself hasn't yet done so. 
> While I'm not sure this contradicts Zab (there is no description of where the leader actually sets its acceptedEpoch), it is very counter intuitive.
> The fix is to set acceptedEpoch in getEpochToPropose, i.e., before anyone LearnerHandler passes the getEpochToPropose barrier.
> The fix is done as part of ZK-1264

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira