@StatsDoc(name="replication_worker",
help="Ledger fragment replicator related stats")
public class LedgerFragmentReplicator
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
LedgerFragmentReplicator.SingleFragmentCallback
Callback for recovery of a single ledger fragment.
|
| Constructor and Description |
|---|
LedgerFragmentReplicator(BookKeeper bkc) |
LedgerFragmentReplicator(BookKeeper bkc,
org.apache.bookkeeper.stats.StatsLogger statsLogger) |
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
replicate(LedgerHandle lh,
LedgerFragment lf,
org.apache.zookeeper.AsyncCallback.VoidCallback ledgerFragmentMcb,
java.util.Set<org.apache.bookkeeper.net.BookieId> targetBookieAddresses,
java.util.function.BiConsumer<java.lang.Long,java.lang.Long> onReadEntryFailureCallback)
This method replicate a ledger fragment which is a contiguous portion of
a ledger that was stored in an ensemble that included the failed bookie.
|
(package private) static java.util.Set<LedgerFragment> |
splitIntoSubFragments(LedgerHandle lh,
LedgerFragment ledgerFragment,
long rereplicationEntryBatchSize)
Split the full fragment into batched entry fragments by keeping
rereplicationEntryBatchSize of entries in each one and can treat them as
sub fragments.
|
public LedgerFragmentReplicator(BookKeeper bkc, org.apache.bookkeeper.stats.StatsLogger statsLogger)
public LedgerFragmentReplicator(BookKeeper bkc)
void replicate(LedgerHandle lh, LedgerFragment lf, org.apache.zookeeper.AsyncCallback.VoidCallback ledgerFragmentMcb, java.util.Set<org.apache.bookkeeper.net.BookieId> targetBookieAddresses, java.util.function.BiConsumer<java.lang.Long,java.lang.Long> onReadEntryFailureCallback) throws java.lang.InterruptedException
lh - LedgerHandle for the ledgerlf - LedgerFragment to replicateledgerFragmentMcb - MultiCallback to invoke once we've recovered the current
ledger fragment.targetBookieAddresses - New bookies we want to use to recover and replicate the ledger
entries that were stored on the failed bookie.java.lang.InterruptedExceptionstatic java.util.Set<LedgerFragment> splitIntoSubFragments(LedgerHandle lh, LedgerFragment ledgerFragment, long rereplicationEntryBatchSize)
Copyright © 2011–2024 The Apache Software Foundation. All rights reserved.