dlg99 commented on code in PR #3239:
URL: https://github.com/apache/bookkeeper/pull/3239#discussion_r855817256


##########
bookkeeper-server/src/test/java/org/apache/bookkeeper/replication/BookieAutoRecoveryTest.java:
##########
@@ -383,6 +383,7 @@ public void testEmptyLedgerLosesQuorumEventually() throws 
Exception {
         LOG.info("Killing last bookie, {}, in ensemble {}", replicaToKill,
                  lh.getLedgerMetadata().getAllEnsembles().get(0L));
         killBookie(replicaToKill);
+        startNewBookie();

Review Comment:
   The behavior has changed now.
   basically autorecovery used to ignore failed bookie for empty ledgers if it 
is not in the writeset for entryId 0 when WQ < ES.
   e.g. ensemble = (bl1, bk2, bk3), WQ = 2, ledger is empty.
   bk3 is down, it is not in the writeset for entryId=0.
   
   Auditor would add it to underreplicated, autorecovery would skip it and 
simply remove from underreplicated, go back to the start of the sentence.
   This is nice until you end up with an empty ledger like that. or a few 
thousands of them.
   



-- 
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: [email protected]

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

Reply via email to