Package org.apache.bookkeeper.client
Class PendingReadOp.SequenceReadRequest
- java.lang.Object
-
- org.apache.bookkeeper.client.ReadOpBase.LedgerEntryRequest
-
- org.apache.bookkeeper.client.PendingReadOp.SingleLedgerEntryRequest
-
- org.apache.bookkeeper.client.PendingReadOp.SequenceReadRequest
-
- All Implemented Interfaces:
SpeculativeRequestExecutor
- Enclosing class:
- PendingReadOp
class PendingReadOp.SequenceReadRequest extends PendingReadOp.SingleLedgerEntryRequest
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.BitSeterroredReplicas(package private) intnextReplicaIndexToReadFrom(package private) static intNOT_FOUND(package private) java.util.BitSetsentReplicas-
Fields inherited from class org.apache.bookkeeper.client.PendingReadOp.SingleLedgerEntryRequest
entryImpl
-
Fields inherited from class org.apache.bookkeeper.client.ReadOpBase.LedgerEntryRequest
complete, eId, ensemble, firstError, numBookiesMissingEntry, rc, writeSet
-
-
Constructor Summary
Constructors Constructor Description SequenceReadRequest(java.util.List<BookieId> ensemble, long lId, long eId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleancomplete(int bookieIndex, BookieId host, io.netty.buffer.ByteBuf buffer)Complete the read request from host.(package private) voidlogErrorAndReattemptRead(int bookieIndex, BookieId host, java.lang.String errMsg, int rc)Log error errMsg and reattempt read from host.(package private) BookieIdmaybeSendSpeculativeRead(java.util.BitSet heardFrom)Send to next replica speculatively, if required and possible.(package private) voidread()Execute the read request.(package private) BookieIdsendNextRead()-
Methods inherited from class org.apache.bookkeeper.client.PendingReadOp.SingleLedgerEntryRequest
close
-
Methods inherited from class org.apache.bookkeeper.client.ReadOpBase.LedgerEntryRequest
fail, getRc, isComplete, issueSpeculativeRequest, toString
-
-
-
-
Field Detail
-
NOT_FOUND
static final int NOT_FOUND
- See Also:
- Constant Field Values
-
nextReplicaIndexToReadFrom
int nextReplicaIndexToReadFrom
-
sentReplicas
final java.util.BitSet sentReplicas
-
erroredReplicas
final java.util.BitSet erroredReplicas
-
-
Constructor Detail
-
SequenceReadRequest
SequenceReadRequest(java.util.List<BookieId> ensemble, long lId, long eId)
-
-
Method Detail
-
maybeSendSpeculativeRead
BookieId maybeSendSpeculativeRead(java.util.BitSet heardFrom)
Send to next replica speculatively, if required and possible. This returns the host we may have sent to for unit testing.- Specified by:
maybeSendSpeculativeReadin classReadOpBase.LedgerEntryRequest- Parameters:
heardFrom- the set of hosts that we already received responses.- Returns:
- host we sent to if we sent. null otherwise.
-
read
void read()
Description copied from class:ReadOpBase.LedgerEntryRequestExecute the read request.- Specified by:
readin classReadOpBase.LedgerEntryRequest
-
sendNextRead
BookieId sendNextRead()
-
logErrorAndReattemptRead
void logErrorAndReattemptRead(int bookieIndex, BookieId host, java.lang.String errMsg, int rc)Description copied from class:ReadOpBase.LedgerEntryRequestLog error errMsg and reattempt read from host.- Overrides:
logErrorAndReattemptReadin classReadOpBase.LedgerEntryRequest- Parameters:
bookieIndex- bookie indexhost- host that just responderrMsg- error msg to logrc- read result code
-
complete
boolean complete(int bookieIndex, BookieId host, io.netty.buffer.ByteBuf buffer)Description copied from class:PendingReadOp.SingleLedgerEntryRequestComplete the read request from host.- Overrides:
completein classPendingReadOp.SingleLedgerEntryRequest- Parameters:
bookieIndex- bookie indexhost- host that respond the readbuffer- the data buffer- Returns:
- return true if we managed to complete the entry; otherwise return false if the read entry is not complete or it is already completed before
-
-