eolivelli commented on code in PR #2069:
URL: https://github.com/apache/zookeeper/pull/2069#discussion_r1342082628


##########
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/Leader.java:
##########
@@ -915,22 +934,30 @@ private long getDesignatedLeader(Proposal 
reconfigProposal, long zxid) {
      * @return True if committed, otherwise false.
      **/
     public synchronized boolean tryToCommit(Proposal p, long zxid, 
SocketAddress followerAddr) {
+        // in order to be committed, a proposal must be accepted by a quorum.
+        //
+        // getting a quorum from all necessary configurations.
+        if (!p.hasAllQuorums()) {
+            return false;
+        }
+
         // make sure that ops are committed in order. With reconfigurations it 
is now possible
         // that different operations wait for different sets of acks, and we 
still want to enforce
         // that they are committed in order. Currently we only permit one 
outstanding reconfiguration
         // such that the reconfiguration and subsequent outstanding ops 
proposed while the reconfig is
         // pending all wait for a quorum of old and new config, so it's not 
possible to get enough acks
         // for an operation without getting enough acks for preceding ops. But 
in the future if multiple
         // concurrent reconfigs are allowed, this can happen.
-        if (outstandingProposals.containsKey(zxid - 1)) {
-            return false;
-        }
-
-        // in order to be committed, a proposal must be accepted by a quorum.
-        //
-        // getting a quorum from all necessary configurations.
-        if (!p.hasAllQuorums()) {
-            return false;
+        Proposal previous = outstandingProposals.get(zxid - 1);

Review Comment:
   This change seems unrelated



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@zookeeper.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to