Package org.apache.bookkeeper.client
Class ReadLastConfirmedAndEntryOp
- java.lang.Object
-
- org.apache.bookkeeper.client.ReadLastConfirmedAndEntryOp
-
- All Implemented Interfaces:
SpeculativeRequestExecutor,BookkeeperInternalCallbacks.ReadEntryCallback
class ReadLastConfirmedAndEntryOp extends java.lang.Object implements BookkeeperInternalCallbacks.ReadEntryCallback, SpeculativeRequestExecutor
Long poll read operation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interfaceReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallbackWrapper to get all recovered data from the request.(package private) classReadLastConfirmedAndEntryOp.ParallelReadRequest(package private) classReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest(package private) classReadLastConfirmedAndEntryOp.SequenceReadRequest
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.BitSetemptyResponsesFromHostsBitSet(package private) java.util.BitSetheardFromHostsBitSet(package private) static org.slf4j.LoggerLOG(package private) intmaxMissedReadsAllowed(package private) booleanparallelRead(package private) ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequestrequest(package private) java.util.concurrent.atomic.AtomicBooleanrequestComplete(package private) longrequestTimeNano
-
Constructor Summary
Constructors Constructor Description ReadLastConfirmedAndEntryOp(LedgerHandle lh, ClientContext clientCtx, java.util.List<BookieId> ensemble, ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback cb, long prevEntryId, long timeOutInMillis)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcancelSpeculativeTask(boolean mayInterruptIfRunning)protected LedgerMetadatagetLedgerMetadata()voidinitiate()com.google.common.util.concurrent.ListenableFuture<java.lang.Boolean>issueSpeculativeRequest()Speculative Read Logic.(package private) ReadLastConfirmedAndEntryOpparallelRead(boolean enabled)voidreadEntryComplete(int rc, long ledgerId, long entryId, io.netty.buffer.ByteBuf buffer, java.lang.Object ctx)(package private) voidsendReadTo(int bookieIndex, BookieId to, ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest entry)java.lang.StringtoString()
-
-
-
Field Detail
-
LOG
static final org.slf4j.Logger LOG
-
request
ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest request
-
heardFromHostsBitSet
final java.util.BitSet heardFromHostsBitSet
-
emptyResponsesFromHostsBitSet
final java.util.BitSet emptyResponsesFromHostsBitSet
-
maxMissedReadsAllowed
final int maxMissedReadsAllowed
-
parallelRead
boolean parallelRead
-
requestComplete
final java.util.concurrent.atomic.AtomicBoolean requestComplete
-
requestTimeNano
final long requestTimeNano
-
-
Constructor Detail
-
ReadLastConfirmedAndEntryOp
ReadLastConfirmedAndEntryOp(LedgerHandle lh, ClientContext clientCtx, java.util.List<BookieId> ensemble, ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback cb, long prevEntryId, long timeOutInMillis)
-
-
Method Detail
-
getLedgerMetadata
protected LedgerMetadata getLedgerMetadata()
-
parallelRead
ReadLastConfirmedAndEntryOp parallelRead(boolean enabled)
-
cancelSpeculativeTask
protected void cancelSpeculativeTask(boolean mayInterruptIfRunning)
-
issueSpeculativeRequest
public com.google.common.util.concurrent.ListenableFuture<java.lang.Boolean> issueSpeculativeRequest()
Speculative Read Logic.- Specified by:
issueSpeculativeRequestin interfaceSpeculativeRequestExecutor- Returns:
- whether more speculative requests should be issued
-
initiate
public void initiate()
-
sendReadTo
void sendReadTo(int bookieIndex, BookieId to, ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest entry) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
readEntryComplete
public void readEntryComplete(int rc, long ledgerId, long entryId, io.netty.buffer.ByteBuf buffer, java.lang.Object ctx)- Specified by:
readEntryCompletein interfaceBookkeeperInternalCallbacks.ReadEntryCallback
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-