Class PutDocumentMessage
- Author:
- Simon Thoresen Hult
-
Constructor Summary
ConstructorsConstructorDescriptionPutDocumentMessage
(com.yahoo.document.DocumentPut put) Constructs a new document put messagePutDocumentMessage
(LazyDecoder decoder, com.yahoo.document.serialization.DocumentDeserializer buffer) Constructs a new message from a byte buffer. -
Method Summary
Modifier and TypeMethodDescriptionstatic PutDocumentMessage
Creates an empty PutDocumentMessageCreates and returns a reply to this message.int
com.yahoo.document.TestAndSetCondition
boolean
com.yahoo.document.DocumentPut
Returns the document put operationlong
When a visitor client receives a Put as part of the visiting operation, this timestamp represents the wall clock time in microseconds(*) of the last known mutating operation to the document.long
long
Returns the timestamp of the document to put.int
getType()
boolean
void
setCondition
(com.yahoo.document.TestAndSetCondition condition) void
setCreateIfNonExistent
(boolean value) void
setDocumentPut
(com.yahoo.document.DocumentPut put) Sets the document to putvoid
setPersistedTimestamp
(long time) Set the timestamp of the last known mutating operation to this document.void
setTimestamp
(long time) Sets the timestamp of the document to put.Methods inherited from class com.yahoo.documentapi.messagebus.protocol.DocumentMessage
getPriority, getProtocol, setPriority, swapState
Methods inherited from class com.yahoo.messagebus.Message
getBucketSequence, getRetry, getRetryEnabled, getRoute, getTimeReceived, getTimeRemaining, getTimeRemainingNow, hasBucketSequence, isExpired, setRetry, setRetryEnabled, setRoute, setTimeReceived, setTimeReceivedNow, setTimeRemaining
Methods inherited from class com.yahoo.messagebus.Routable
discard, getCallStack, getContext, getTrace, popHandler, pushHandler, setContext
-
Constructor Details
-
PutDocumentMessage
public PutDocumentMessage(LazyDecoder decoder, com.yahoo.document.serialization.DocumentDeserializer buffer) Constructs a new message from a byte buffer.- Parameters:
decoder
- The decoder to use for deserialization.buffer
- A byte buffer that contains a serialized message.
-
PutDocumentMessage
public PutDocumentMessage(com.yahoo.document.DocumentPut put) Constructs a new document put message
-
-
Method Details
-
createEmpty
Creates an empty PutDocumentMessage -
getDocumentPut
public com.yahoo.document.DocumentPut getDocumentPut()Returns the document put operation -
setDocumentPut
public void setDocumentPut(com.yahoo.document.DocumentPut put) Sets the document to put -
getTimestamp
public long getTimestamp()Returns the timestamp of the document to put.
Only used by the feed pipeline; use
getPersistedTimestamp()
to get the persisted backend timestamp of the document as observed by the client of a running visitor operation. -
setTimestamp
public void setTimestamp(long time) Sets the timestamp of the document to put.
Timestamp assignment should normally always be left to the content cluster, i.e. this method should not be called.
Only use this if you have a very specific use case and are aware of the downsides of side-stepping the internal timestamp mechanisms.
-
setPersistedTimestamp
public void setPersistedTimestamp(long time) Set the timestamp of the last known mutating operation to this document.
This is normally only invoked by the backends as part of visiting.
-
getPersistedTimestamp
public long getPersistedTimestamp()When a visitor client receives a Put as part of the visiting operation, this timestamp represents the wall clock time in microseconds(*) of the last known mutating operation to the document.
If zero, the sending content node is too old to support this feature.
This value is not guaranteed to be linearizable. During e.g. network partitions this value might not represent the latest acknowledged operation for the document.
Unsupported (and ignored) for Puts sent by the client during feeding.
(*) (wall clock seconds since UTC epoch * 1M) + synthetic intra-second microsecond counter.
-
createReply
Description copied from class:DocumentMessage
Creates and returns a reply to this message.- Specified by:
createReply
in classDocumentMessage
- Returns:
- The created reply.
-
getApproxSize
public int getApproxSize()- Overrides:
getApproxSize
in classDocumentMessage
-
hasSequenceId
public boolean hasSequenceId()- Overrides:
hasSequenceId
in classcom.yahoo.messagebus.Message
-
getSequenceId
public long getSequenceId()- Overrides:
getSequenceId
in classcom.yahoo.messagebus.Message
-
getType
public int getType()- Specified by:
getType
in classcom.yahoo.messagebus.Routable
-
getCondition
public com.yahoo.document.TestAndSetCondition getCondition()- Specified by:
getCondition
in classTestAndSetMessage
-
setCondition
public void setCondition(com.yahoo.document.TestAndSetCondition condition) - Specified by:
setCondition
in classTestAndSetMessage
-
setCreateIfNonExistent
public void setCreateIfNonExistent(boolean value) -
getCreateIfNonExistent
public boolean getCreateIfNonExistent()
-