Package org.apache.bookkeeper.client
Class PendingAddOp
- java.lang.Object
-
- org.apache.bookkeeper.client.PendingAddOp
-
- All Implemented Interfaces:
BookkeeperInternalCallbacks.WriteCallback
class PendingAddOp extends java.lang.Object implements BookkeeperInternalCallbacks.WriteCallback
This represents a pending add operation. When it has got success from all bookies, it sees if its at the head of the pending adds queue, and if yes, sends ack back to the application. If a bookie fails, a replacement is made and placed at the same position in the ensemble. The pending adds are then rereplicated.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DistributionSchedule.AckSetackSet(package private) java.util.Set<BookieId>addEntrySuccessBookies(package private) booleanallowFailFast(package private) booleancallbackTriggered(package private) AsyncCallback.AddCallbackWithLatencycb(package private) ClientContextclientCtx(package private) booleancompleted(package private) java.lang.Objectctx(package private) longcurrentLedgerLength(package private) java.util.List<BookieId>ensemble(package private) longentryId(package private) intentryLength(package private) booleanhasRun(package private) booleanisRecoveryAdd(package private) LedgerHandlelh(package private) io.netty.buffer.ByteBufpayload(package private) intpendingWriteRequests(package private) longqwcLatency(package private) longrequestTimeNanos(package private) io.netty.util.ReferenceCountedtoSend(package private) longwriteDelayedStartTime(package private) java.util.EnumSet<WriteFlag>writeFlags
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) PendingAddOpallowFailFastOnUnwritableChannel()(package private) static PendingAddOpcreate(LedgerHandle lh, ClientContext clientCtx, java.util.List<BookieId> ensemble, io.netty.buffer.ByteBuf payload, java.util.EnumSet<WriteFlag> writeFlags, AsyncCallback.AddCallbackWithLatency cb, java.lang.Object ctx)(package private) PendingAddOpenableRecoveryAdd()Enable the recovery add flag for this operation.booleanequals(java.lang.Object o)(package private) longgetEntryId()inthashCode()voidinitiate()Initiate the add operation.(package private) booleanmaybeTimeout()voidrecyclePendAddOpObject()(package private) voidsendAddSuccessCallbacks()(package private) voidsetEntryId(long entryId)(package private) voidsetLedgerLength(long ledgerLength)(package private) voidsubmitCallback(int rc)(package private) voidtimeoutQuorumWait()java.lang.StringtoString()(package private) voidunsetSuccessAndSendWriteRequest(java.util.List<BookieId> ensemble, int bookieIndex)voidwriteComplete(int rc, long ledgerId, long entryId, BookieId addr, java.lang.Object ctx)
-
-
-
Field Detail
-
payload
io.netty.buffer.ByteBuf payload
-
toSend
io.netty.util.ReferenceCounted toSend
-
ctx
java.lang.Object ctx
-
entryId
long entryId
-
entryLength
int entryLength
-
ackSet
DistributionSchedule.AckSet ackSet
-
completed
boolean completed
-
lh
LedgerHandle lh
-
clientCtx
ClientContext clientCtx
-
isRecoveryAdd
boolean isRecoveryAdd
-
requestTimeNanos
volatile long requestTimeNanos
-
qwcLatency
long qwcLatency
-
addEntrySuccessBookies
java.util.Set<BookieId> addEntrySuccessBookies
-
writeDelayedStartTime
long writeDelayedStartTime
-
currentLedgerLength
long currentLedgerLength
-
pendingWriteRequests
int pendingWriteRequests
-
callbackTriggered
boolean callbackTriggered
-
hasRun
boolean hasRun
-
writeFlags
java.util.EnumSet<WriteFlag> writeFlags
-
allowFailFast
boolean allowFailFast
-
ensemble
java.util.List<BookieId> ensemble
-
-
Method Detail
-
create
static PendingAddOp create(LedgerHandle lh, ClientContext clientCtx, java.util.List<BookieId> ensemble, io.netty.buffer.ByteBuf payload, java.util.EnumSet<WriteFlag> writeFlags, AsyncCallback.AddCallbackWithLatency cb, java.lang.Object ctx)
-
enableRecoveryAdd
PendingAddOp enableRecoveryAdd()
Enable the recovery add flag for this operation.
-
allowFailFastOnUnwritableChannel
PendingAddOp allowFailFastOnUnwritableChannel()
-
setEntryId
void setEntryId(long entryId)
-
setLedgerLength
void setLedgerLength(long ledgerLength)
-
getEntryId
long getEntryId()
-
maybeTimeout
boolean maybeTimeout()
-
timeoutQuorumWait
void timeoutQuorumWait()
-
unsetSuccessAndSendWriteRequest
void unsetSuccessAndSendWriteRequest(java.util.List<BookieId> ensemble, int bookieIndex)
-
initiate
public void initiate()
Initiate the add operation.
-
writeComplete
public void writeComplete(int rc, long ledgerId, long entryId, BookieId addr, java.lang.Object ctx)- Specified by:
writeCompletein interfaceBookkeeperInternalCallbacks.WriteCallback
-
sendAddSuccessCallbacks
void sendAddSuccessCallbacks()
-
submitCallback
void submitCallback(int rc)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
recyclePendAddOpObject
public void recyclePendAddOpObject()
-
-