Package org.apache.bookkeeper.client
Class ReadOpBase.LedgerEntryRequest
java.lang.Object
org.apache.bookkeeper.client.ReadOpBase.LedgerEntryRequest
- All Implemented Interfaces:
SpeculativeRequestExecutor
- Direct Known Subclasses:
BatchedReadOp.BatchedLedgerEntryRequest,PendingReadOp.SingleLedgerEntryRequest
- Enclosing class:
- ReadOpBase
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final AtomicBoolean(package private) final long(package private) int(package private) int(package private) int(package private) final DistributionSchedule.WriteSet -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()(package private) booleanfail(int rc) Fail the request with given result code rc.(package private) intgetRc()Get result code of this entry.(package private) booleanWhether the read request completed.com.google.common.util.concurrent.ListenableFuture<Boolean>Issues a speculative request and indicates if more speculative requests should be issued.(package private) voidlogErrorAndReattemptRead(int bookieIndex, BookieId host, String errMsg, int rc) Log error errMsg and reattempt read from host.(package private) abstract BookieIdmaybeSendSpeculativeRead(BitSet heardFromHostsBitSet) Send to next replica speculatively, if required and possible.(package private) abstract voidread()Execute the read request.toString()
-
Field Details
-
complete
-
rc
int rc -
firstError
int firstError -
numBookiesMissingEntry
int numBookiesMissingEntry -
eId
final long eId -
ensemble
-
writeSet
-
-
Constructor Details
-
LedgerEntryRequest
-
-
Method Details
-
close
public void close() -
read
abstract void read()Execute the read request. -
fail
boolean fail(int rc) Fail the request with given result code rc.- Parameters:
rc- result code to fail the request.- Returns:
- true if we managed to fail the entry; otherwise return false if it already failed or completed.
-
logErrorAndReattemptRead
Log error errMsg and reattempt read from host.- Parameters:
bookieIndex- bookie indexhost- host that just responderrMsg- error msg to logrc- read result code
-
maybeSendSpeculativeRead
Send to next replica speculatively, if required and possible. This returns the host we may have sent to for unit testing.- Parameters:
heardFromHostsBitSet- the set of hosts that we already received responses.- Returns:
- host we sent to if we sent. null otherwise.
-
isComplete
boolean isComplete()Whether the read request completed.- Returns:
- true if the read request is completed.
-
getRc
int getRc()Get result code of this entry.- Returns:
- result code.
-
toString
-
issueSpeculativeRequest
Issues a speculative request and indicates if more speculative requests should be issued.- Specified by:
issueSpeculativeRequestin interfaceSpeculativeRequestExecutor- Returns:
- whether more speculative requests should be issued
-