Package com.linkedin.davinci.client
Class VersionSpecificAvroGenericDaVinciClient<K,V>
java.lang.Object
com.linkedin.davinci.client.AvroGenericDaVinciClient<K,V>
com.linkedin.davinci.client.AvroGenericSeekableDaVinciClient<K,V>
com.linkedin.davinci.client.VersionSpecificAvroGenericDaVinciClient<K,V>
- All Implemented Interfaces:
DaVinciClient<K,,V> SeekableDaVinciClient<K,,V> AvroGenericReadComputeStoreClient<K,,V> AvroGenericStoreClient<K,,V> Closeable,AutoCloseable
public class VersionSpecificAvroGenericDaVinciClient<K,V>
extends AvroGenericSeekableDaVinciClient<K,V>
Version-specific DaVinci client implementation that subscribes to a specific store version.
Key features:
- Subscribes to a specific version (does not follow version swaps)
- Validates version existence when subscribing
- Cannot be mixed with regular DaVinci clients on the same store with the same
DaVinciBackend or JVM.
Please note that when the client is subscribed to the backup version, on restart
DaVinciBackend.functionToCheckWhetherStorageEngineShouldBeKeptOrNot(Optional)
will automatically delete the backup version data on disk and it will have to reingest. We are ok with this
behavior because the plan is to use DaVinciRecordTransformer in diskless mode where the user will need to
prevent the PubSub position to seek to instead of relying on the OffsetRecord.-
Field Summary
Fields inherited from class com.linkedin.davinci.client.AvroGenericDaVinciClient
DEFAULT_CHUNK_SPLIT_THRESHOLD, logger, READ_CHUNK_EXECUTOR, storeBackend, subscription -
Constructor Summary
ConstructorsConstructorDescriptionVersionSpecificAvroGenericDaVinciClient(DaVinciConfig daVinciConfig, ClientConfig clientConfig, VeniceProperties backendConfig, Optional<Set<String>> managedClients, ICProvider icProvider, Executor readChunkExecutorForLargeRequest, int storeVersion) -
Method Summary
Methods inherited from class com.linkedin.davinci.client.AvroGenericSeekableDaVinciClient
seekToBeginningOfPush, seekToCheckpoint, seekToTail, seekToTail, seekToTimestamp, seekToTimestampsMethods inherited from class com.linkedin.davinci.client.AvroGenericDaVinciClient
addPartitionsToSubscription, batchGet, close, compute, compute, computeWithKeyPrefixFilter, discoverService, get, get, getAvroChunkingAdapter, getBackend, getGenericRecordChunkingAdapter, getKeySchema, getLatestValueSchema, getPartitionCount, getSchemaReader, getStoreName, getStoreVersion, initBackend, isPartitionReadyToServe, isPartitionSubscribed, isProjectionFieldValidationEnabled, isReady, seekToTimestamps, split, start, streamingBatchGet, subscribe, subscribe, subscribeAll, throwIfNotReady, toString, unsubscribe, unsubscribe, unsubscribeAllMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.linkedin.venice.client.store.AvroGenericReadComputeStoreClient
compute, compute, compute, computeAggregationMethods inherited from interface com.linkedin.venice.client.store.AvroGenericStoreClient
batchGet, close, get, get, getKeySchema, getLatestValueSchema, getStoreName, start, streamingBatchGet, streamingBatchGetMethods inherited from interface com.linkedin.davinci.client.DaVinciClient
getPartitionCount, subscribe, subscribeAll, unsubscribe, unsubscribeAll
-
Constructor Details
-
VersionSpecificAvroGenericDaVinciClient
public VersionSpecificAvroGenericDaVinciClient(DaVinciConfig daVinciConfig, ClientConfig clientConfig, VeniceProperties backendConfig, Optional<Set<String>> managedClients, ICProvider icProvider, Executor readChunkExecutorForLargeRequest, int storeVersion)
-