Github user afine commented on the issue:

    https://github.com/apache/zookeeper/pull/300
  
    @anmolnar With respect to the code path above, shouldn't that be blocked on 
`syncWithLeader`?
    
    > Even if you drain the committedRequests, I'm not sure that guarantees 
that there are no more that will arrive.
    
    I'm not sure I understand how we don't have this guarantee. My 
understanding is that `syncWithLeader` loops until an `UPTODATE` message is 
received by the follower. Incoming packets from the leader are read by:
    ```java
                    syncWithLeader(newEpochZxid);                
                    QuorumPacket qp = new QuorumPacket();
                    while (this.isRunning()) {
                        readPacket(qp);
                        processPacket(qp);
                    }
    ```
    
    In addition, my understanding is that requests are only added to 
`CommitProcessor`'s `committedRequests` in `processPacket`. What am I missing?


---

Reply via email to