Class MergeConflictResult
java.lang.Object
com.linkedin.davinci.replication.merge.MergeConflictResult
An object to encapsulate the results of conflict resolution to denote how the operation and value that should be
applied or if the current update should be ignored.
-
Constructor Summary
ConstructorsConstructorDescriptionMergeConflictResult
(ByteBuffer newValue, int valueSchemaID, boolean resultReusesInput, org.apache.avro.generic.GenericRecord rmdRecord) MergeConflictResult
(ByteBuffer newValue, Optional<org.apache.avro.generic.GenericRecord> deserializedValue, int valueSchemaID, boolean resultReusesInput, org.apache.avro.generic.GenericRecord rmdRecord) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Optional<org.apache.avro.generic.GenericRecord>
Provide the deserialized new value on a best-effort approach.static MergeConflictResult
org.apache.avro.generic.GenericRecord
int
boolean
-
Constructor Details
-
MergeConflictResult
public MergeConflictResult(ByteBuffer newValue, int valueSchemaID, boolean resultReusesInput, org.apache.avro.generic.GenericRecord rmdRecord) -
MergeConflictResult
public MergeConflictResult(ByteBuffer newValue, Optional<org.apache.avro.generic.GenericRecord> deserializedValue, int valueSchemaID, boolean resultReusesInput, org.apache.avro.generic.GenericRecord rmdRecord)
-
-
Method Details
-
getIgnoredResult
-
getValueSchemaId
public int getValueSchemaId() -
getNewValue
-
isUpdateIgnored
public boolean isUpdateIgnored() -
doesResultReuseInput
public boolean doesResultReuseInput() -
getRmdRecord
public org.apache.avro.generic.GenericRecord getRmdRecord() -
getDeserializedValue
Provide the deserialized new value on a best-effort approach. Meaning that it's acceptable to return an empty Optional. e.g. MergeConflictResult of full PUTs will not contain deserialized new value since we don't need to deserialize the value to generate the MCR.- Returns:
- deserialized new value if possible.
-