Class BootstrappingVeniceChangelogConsumerDaVinciRecordTransformerImpl.DaVinciRecordTransformerBootstrappingChangelogConsumer

java.lang.Object
com.linkedin.davinci.client.DaVinciRecordTransformer<K,V,V>
com.linkedin.davinci.consumer.BootstrappingVeniceChangelogConsumerDaVinciRecordTransformerImpl.DaVinciRecordTransformerBootstrappingChangelogConsumer
All Implemented Interfaces:
Closeable, AutoCloseable
Enclosing class:
BootstrappingVeniceChangelogConsumerDaVinciRecordTransformerImpl<K,V>

public class BootstrappingVeniceChangelogConsumerDaVinciRecordTransformerImpl.DaVinciRecordTransformerBootstrappingChangelogConsumer extends DaVinciRecordTransformer<K,V,V>
  • Constructor Details

    • DaVinciRecordTransformerBootstrappingChangelogConsumer

      public DaVinciRecordTransformerBootstrappingChangelogConsumer(int storeVersion, org.apache.avro.Schema keySchema, org.apache.avro.Schema inputValueSchema, org.apache.avro.Schema outputValueSchema, DaVinciRecordTransformerConfig recordTransformerConfig)
  • Method Details

    • onStartVersionIngestion

      public void onStartVersionIngestion(boolean isCurrentVersion)
      Description copied from class: DaVinciRecordTransformer
      Lifecycle event triggered before consuming records for DaVinciRecordTransformer.storeVersion. Use this method to perform setup operations such as opening database connections or creating tables. By default, it performs no operation.
      Overrides:
      onStartVersionIngestion in class DaVinciRecordTransformer<K,V,V>
    • transform

      public DaVinciRecordTransformerResult<V> transform(Lazy<K> key, Lazy<V> value, int partitionId)
      Description copied from class: DaVinciRecordTransformer
      Implement this method to transform records before they are stored. This can be useful for tasks such as filtering out unused fields to save storage space.
      Specified by:
      transform in class DaVinciRecordTransformer<K,V,V>
      Parameters:
      key - the key of the record to be transformed
      value - the value of the record to be transformed
      partitionId - what partition the record came from
      Returns:
      DaVinciRecordTransformerResult
    • addMessageToBuffer

      public void addMessageToBuffer(K key, V value, int partitionId)
    • processPut

      public void processPut(Lazy<K> key, Lazy<V> value, int partitionId)
      Description copied from class: DaVinciRecordTransformer
      Implement this method to manage custom state outside the Da Vinci Client.
      Specified by:
      processPut in class DaVinciRecordTransformer<K,V,V>
      Parameters:
      key - the key of the record to be put
      value - the value of the record to be put, derived from the output of DaVinciRecordTransformer.transform(Lazy key, Lazy value, int partitionId)
      partitionId - what partition the record came from
    • processDelete

      public void processDelete(Lazy<K> key, int partitionId)
      Description copied from class: DaVinciRecordTransformer
      Override this method to customize the behavior for record deletions. For example, you can use this method to delete records from a custom storage outside the Da Vinci Client. By default, it performs no operation.
      Overrides:
      processDelete in class DaVinciRecordTransformer<K,V,V>
      Parameters:
      key - the key of the record to be deleted
      partitionId - what partition the record is being deleted from
    • onVersionSwap

      public void onVersionSwap(int currentVersion, int futureVersion, int partitionId)
    • close

      public void close() throws IOException
      Throws:
      IOException