Add skip remove bookie option for bookkeeper shell recover command
Descriptions of the changes in this PR:
Motivation
- the bookie's machine is broken, when the ledger's status is IN_RECOVERY, the autorecovery and old recover tool (you can run with this command: bin/bookkeeper shell recover) couldn't solve these ledgers in IN_RECOVERY.
- I develop these code in branch-4.14 to recover these ledgers in IN_RECOVERY
- then I find a same pr #2870 ,but I think mine codes are more accurate to solve this problem
Changes
1.add RecoverCommand's function skipRemoveBookieStatus (just skip remove bookie's status to revover the others bookie's data) 2.add param(named skipRemoveBookieStatus) in client API in LedgerOpenOp/LedgerRecoveryOp/PendingReadLacOp/PendingReadOp/ReadLastConfirmedOp
Could you please give me more details of this PR?
@zymap case when a bookie node is down and the machine cannot be repaired:
The ledger in IN_RECOVERY status cann't be auto recovery successfully, so we add this function to recover this ledger.
@nicoloboschi @dlg99 @eolivelli @zymap If you have time, please help me review it, thank you
@hangc0276 Could you please take a look as well? Because it looks like is an improvement of the skip unrecoverable ledger.