You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2022/04/21 13:47:16 UTC

[GitHub] [bookkeeper] hangc0276 commented on issue #3222: Read ledger returns "Bookie handle is not available" when one bookie is up but the ledger is empty.

hangc0276 commented on issue #3222:
URL: https://github.com/apache/bookkeeper/issues/3222#issuecomment-1105231953

   When we read the ledger, the first read reaches bk3, which is unavailable, it will set the `firstError` to `BookieHandleNotAvailableException`. And the schedule to the read to bk2. The bk2 returns `NoSuchEntryException` due to the ledger doesn't have any entries. In the callback, the `firstError` won't be updated as `NoSuchEntryException` and keeps `BookieHandleNotAvailableException`.
   
   https://github.com/apache/bookkeeper/blob/02d41c0e061daa62e53078be048c5c503d1bfefa/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java#L195-L207
   
   After bk2 read request returned, it will use `firstError` to fail this read request.
   https://github.com/apache/bookkeeper/blob/02d41c0e061daa62e53078be048c5c503d1bfefa/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java#L393-L399
   
   I'm considering to fix it, but still have no idea. Do you have any suggestions? @dlg99 @eolivelli 


-- 
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: issues-unsubscribe@bookkeeper.apache.org

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