Interface ChunkAwareCallback

All Superinterfaces:
PubSubProducerCallback
All Known Implementing Classes:
ActiveActiveProducerCallback, LeaderProducerCallback

public interface ChunkAwareCallback extends PubSubProducerCallback
The VeniceWriter, upon detecting an instance of this class being passed to it, will always call setChunkingInfo(byte[], ByteBuffer[], ChunkedValueManifest, ByteBuffer[], ChunkedValueManifest, ChunkedValueManifest, ChunkedValueManifest) whenever processing a MessageType.PUT, whether it is chunked or not.
  • Method Details

    • setChunkingInfo

      void setChunkingInfo(byte[] key, ByteBuffer[] valueChunks, ChunkedValueManifest chunkedValueManifest, ByteBuffer[] rmdChunks, ChunkedValueManifest chunkedRmdManifest, ChunkedValueManifest oldValueManifest, ChunkedValueManifest oldRmdManifest)
      For all PUT operations, the 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.
      Parameters:
      key - A byte[] corresponding to the top-level key written to Kafka, potentially including a chunking suffix
      valueChunks - An array of ByteBuffer where the backing array has sufficient headroom to prepend Venice's header
      chunkedValueManifest - The ChunkedValueManifest of the new chunked value
      rmdChunks - An array of ByteBuffer where the backing array has sufficient headroom to prepend Venice's header
      chunkedRmdManifest - The ChunkedValueManifest of the new chunked RMD
      oldValueManifest - The ChunkedValueManifest of the previous chunked value
      oldRmdManifest - The ChunkedValueManifest of the previous chunked RMD