/** * This method asynchronously recovers a ledger fragment which is a * contiguous portion of a ledger that was stored in an ensemble that * included the failed bookie. * * @param lh * - LedgerHandle for the ledger * @param ledgerFragment * - LedgerFragment to replicate * @param ledgerFragmentMcb * - MultiCallback to invoke once we've recovered the current * ledger fragment. * @param newBookies * - New bookies we want to use to recover and replicate the * ledger entries that were stored on the failed bookie. */ private void asyncRecoverLedgerFragment(final LedgerHandle lh, final LedgerFragment ledgerFragment, final AsyncCallback.VoidCallback ledgerFragmentMcb, final Set<BookieSocketAddress> newBookies) throws InterruptedException { lfr.replicate(lh, ledgerFragment, ledgerFragmentMcb, newBookies); }