Class LeaderProducerCallback
- java.lang.Object
-
- com.linkedin.davinci.kafka.consumer.LeaderProducerCallback
-
- All Implemented Interfaces:
PubSubProducerCallback,ChunkAwareCallback
- Direct Known Subclasses:
ActiveActiveProducerCallback
public class LeaderProducerCallback extends java.lang.Object implements ChunkAwareCallback
-
-
Field Summary
Fields Modifier and Type Field Description protected static ChunkedValueManifestSerializerCHUNKED_VALUE_MANIFEST_SERIALIZERprotected ChunkedValueManifestchunkedRmdManifestprotected static java.nio.ByteBufferEMPTY_BYTE_BUFFERprotected LeaderFollowerStoreIngestionTaskingestionTaskprotected LeaderProducedRecordContextleaderProducedRecordContextprotected ChunkedValueManifestoldRmdManifestprotected ChunkedValueManifestoldValueManifest
-
Constructor Summary
Constructors Constructor Description LeaderProducerCallback(LeaderFollowerStoreIngestionTask ingestionTask, PubSubMessage<KafkaKey,KafkaMessageEnvelope,java.lang.Long> sourceConsumerRecord, PartitionConsumptionState partitionConsumptionState, LeaderProducedRecordContext leaderProducedRecordContext, int partition, java.lang.String kafkaUrl, long beforeProcessingRecordTimestampNs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LeaderFollowerStoreIngestionTaskgetIngestionTask()PartitionConsumptionStategetPartitionConsumptionState()PubSubMessage<KafkaKey,KafkaMessageEnvelope,java.lang.Long>getSourceConsumerRecord()protected PutinstantiateManifestPut()protected PutinstantiateRmdChunkPut()protected PutinstantiateValueChunkPut()voidonCompletion(PubSubProduceResult produceResult, java.lang.Exception e)exception will be null if request was completed without an error.voidsetChunkingInfo(byte[] key, java.nio.ByteBuffer[] valueChunks, ChunkedValueManifest chunkedValueManifest, java.nio.ByteBuffer[] rmdChunks, ChunkedValueManifest chunkedRmdManifest, ChunkedValueManifest oldValueManifest, ChunkedValueManifest oldRmdManifest)For all PUT operations, the {@param key} is guaranteed to be passed via this function, whether chunking is enabled or not, and whether the value is chunked or not.
-
-
-
Field Detail
-
CHUNKED_VALUE_MANIFEST_SERIALIZER
protected static final ChunkedValueManifestSerializer CHUNKED_VALUE_MANIFEST_SERIALIZER
-
EMPTY_BYTE_BUFFER
protected static final java.nio.ByteBuffer EMPTY_BYTE_BUFFER
-
ingestionTask
protected final LeaderFollowerStoreIngestionTask ingestionTask
-
leaderProducedRecordContext
protected final LeaderProducedRecordContext leaderProducedRecordContext
-
chunkedRmdManifest
protected ChunkedValueManifest chunkedRmdManifest
-
oldValueManifest
protected ChunkedValueManifest oldValueManifest
-
oldRmdManifest
protected ChunkedValueManifest oldRmdManifest
-
-
Constructor Detail
-
LeaderProducerCallback
public LeaderProducerCallback(LeaderFollowerStoreIngestionTask ingestionTask, PubSubMessage<KafkaKey,KafkaMessageEnvelope,java.lang.Long> sourceConsumerRecord, PartitionConsumptionState partitionConsumptionState, LeaderProducedRecordContext leaderProducedRecordContext, int partition, java.lang.String kafkaUrl, long beforeProcessingRecordTimestampNs)
-
-
Method Detail
-
onCompletion
public void onCompletion(PubSubProduceResult produceResult, java.lang.Exception e)
Description copied from interface:PubSubProducerCallbackexception will be null if request was completed without an error.- Specified by:
onCompletionin interfacePubSubProducerCallback
-
setChunkingInfo
public void setChunkingInfo(byte[] key, java.nio.ByteBuffer[] valueChunks, ChunkedValueManifest chunkedValueManifest, java.nio.ByteBuffer[] rmdChunks, ChunkedValueManifest chunkedRmdManifest, ChunkedValueManifest oldValueManifest, ChunkedValueManifest oldRmdManifest)Description copied from interface:ChunkAwareCallbackFor all PUT operations, the {@param key} is guaranteed to be passed via this function, whether chunking is enabled or not, and whether the value is chunked or not. The other two parameters are null if the value is not chunked.- Specified by:
setChunkingInfoin interfaceChunkAwareCallback- Parameters:
key- A byte[] corresponding to the top-level key written to Kafka, potentially including a chunking suffixvalueChunks- An array ofByteBufferwhere the backing array has sufficient headroom to prepend Venice's headerchunkedValueManifest- TheChunkedValueManifestof the new chunked valuermdChunks- An array ofByteBufferwhere the backing array has sufficient headroom to prepend Venice's headerchunkedRmdManifest- TheChunkedValueManifestof the new chunked RMDoldValueManifest- TheChunkedValueManifestof the previous chunked valueoldRmdManifest- TheChunkedValueManifestof the previous chunked RMD
-
instantiateValueChunkPut
protected Put instantiateValueChunkPut()
-
instantiateRmdChunkPut
protected Put instantiateRmdChunkPut()
-
instantiateManifestPut
protected Put instantiateManifestPut()
-
getPartitionConsumptionState
public PartitionConsumptionState getPartitionConsumptionState()
-
getSourceConsumerRecord
public PubSubMessage<KafkaKey,KafkaMessageEnvelope,java.lang.Long> getSourceConsumerRecord()
-
getIngestionTask
public LeaderFollowerStoreIngestionTask getIngestionTask()
-
-