ivankelly commented on a change in pull request #2303:
URL: https://github.com/apache/bookkeeper/pull/2303#discussion_r412008767



##########
File path: 
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.java
##########
@@ -373,29 +373,43 @@ public synchronized void addBookie(int 
bookieIndexHeardFrom, int rc) {
         public synchronized boolean checkCovered() {
             // now check if there are any write quorums, with |ackQuorum| 
nodes available
             for (int i = 0; i < ensembleSize; i++) {
-                int nodesNotCovered = 0;
-                int nodesOkay = 0;
-                int nodesUninitialized = 0;
+                /* Nodes which have either responded with an error other than 
NoSuch{Entry,Ledger},

Review comment:
       Coverage is not ```Qw - Qa + 1```. It's at least one bookie from all 
possible ack quorums. 
   
   Take your example above. You have b1=OK, b2=Unknown, b3=Unknown. But an 
entry could possibly be written to b2 & b3 and have attained ack quorum. So we 
need to check all write sets, of which there are |ensemble|, since we are 
roundrobining.
   
   Within an individual writeset, we only need to hear from ```(Qw - Qa) + 1``` 
nodes, which is what the change submitted is doing.
   
   




----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to