Class CachingDaVinciClientFactory
java.lang.Object
com.linkedin.davinci.client.factory.CachingDaVinciClientFactory
- All Implemented Interfaces:
DaVinciClientFactory,VersionSpecificDaVinciClientFactory,Closeable,AutoCloseable
public class CachingDaVinciClientFactory
extends Object
implements DaVinciClientFactory, VersionSpecificDaVinciClientFactory, Closeable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final VenicePropertiesprotected booleanprotected final Map<String,DaVinciConfig> protected final com.linkedin.d2.balancer.D2Clientprotected final ICProviderprotected final List<DaVinciClient>protected final io.tehuti.metrics.MetricsRepositoryprotected final Map<String,DaVinciClient> protected final Map<String,DaVinciClient> -
Constructor Summary
ConstructorsConstructorDescriptionCachingDaVinciClientFactory(com.linkedin.d2.balancer.D2Client d2Client, String clusterDiscoveryD2ServiceName, io.tehuti.metrics.MetricsRepository metricsRepository, VeniceProperties backendConfig) CachingDaVinciClientFactory(com.linkedin.d2.balancer.D2Client d2Client, String clusterDiscoveryD2ServiceName, io.tehuti.metrics.MetricsRepository metricsRepository, VeniceProperties backendConfig, Optional<Set<String>> managedClients) CachingDaVinciClientFactory(com.linkedin.d2.balancer.D2Client d2Client, String clusterDiscoveryD2ServiceName, io.tehuti.metrics.MetricsRepository metricsRepository, VeniceProperties backendConfig, Optional<Set<String>> managedClients, ICProvider icProvider, Executor readChunkExecutorForLargeRequest) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()<K,V> DaVinciClient<K, V> getAndStartGenericAvroClient(String storeName, DaVinciConfig config) <K,V> DaVinciClient<K, V> getAndStartGenericAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) <K,V> DaVinciClient<K, V> getAndStartGenericAvroClient(String storeName, String viewName, DaVinciConfig config) <K,V> SeekableDaVinciClient<K, V> getAndStartGenericSeekableAvroClient(String storeName, DaVinciConfig config) <K,V extends org.apache.avro.specific.SpecificRecord>
DaVinciClient<K,V> getAndStartSpecificAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) <K,V extends org.apache.avro.specific.SpecificRecord>
DaVinciClient<K,V> getAndStartSpecificAvroClient(String storeName, String viewName, DaVinciConfig config, Class<V> valueClass) <K,V> SeekableDaVinciClient<K, V> getAndStartVersionSpecificGenericAvroClient(String storeName, int storeVersion, DaVinciConfig config) <K,V> SeekableDaVinciClient<K, V> getAndStartVersionSpecificGenericAvroClient(String storeName, int storeVersion, String viewName, DaVinciConfig config) protected DaVinciClientgetClient(String storeName, Integer storeVersion, String viewName, DaVinciConfig config, Class valueClass, CachingDaVinciClientFactory.DaVinciClientConstructor clientConstructor, Class clientClass, boolean startClient) protected DaVinciClientgetClient(String storeName, String viewName, DaVinciConfig config, Class valueClass, CachingDaVinciClientFactory.DaVinciClientConstructor clientConstructor, Class clientClass, boolean startClient) <K,V> DaVinciClient<K, V> getGenericAvroClient(String storeName, DaVinciConfig config) <K,V> DaVinciClient<K, V> getGenericAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) <K,V> DaVinciClient<K, V> getGenericAvroClient(String storeName, String viewName, DaVinciConfig config) <K,V> SeekableDaVinciClient<K, V> getGenericSeekableAvroClient(String storeName, DaVinciConfig config) <K,V extends org.apache.avro.specific.SpecificRecord>
DaVinciClient<K,V> getSpecificAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) <K,V extends org.apache.avro.specific.SpecificRecord>
DaVinciClient<K,V> getSpecificAvroClient(String storeName, String viewName, DaVinciConfig config, Class<V> valueClass) <K,V> SeekableDaVinciClient<K, V> getSpecificSeekableAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) <K,V> SeekableDaVinciClient<K, V> getVersionSpecificGenericAvroClient(String storeName, int storeVersion, DaVinciConfig config) <K,V> SeekableDaVinciClient<K, V> getVersionSpecificGenericAvroClient(String storeName, int storeVersion, String viewName, DaVinciConfig config)
-
Field Details
-
closed
protected boolean closed -
d2Client
protected final com.linkedin.d2.balancer.D2Client d2Client -
metricsRepository
protected final io.tehuti.metrics.MetricsRepository metricsRepository -
backendConfig
-
managedClients
-
icProvider
-
versionSpecificClients
-
isolatedClients
-
configs
-
-
Constructor Details
-
CachingDaVinciClientFactory
public CachingDaVinciClientFactory(com.linkedin.d2.balancer.D2Client d2Client, String clusterDiscoveryD2ServiceName, io.tehuti.metrics.MetricsRepository metricsRepository, VeniceProperties backendConfig) -
CachingDaVinciClientFactory
public CachingDaVinciClientFactory(com.linkedin.d2.balancer.D2Client d2Client, String clusterDiscoveryD2ServiceName, io.tehuti.metrics.MetricsRepository metricsRepository, VeniceProperties backendConfig, Optional<Set<String>> managedClients) -
CachingDaVinciClientFactory
public CachingDaVinciClientFactory(com.linkedin.d2.balancer.D2Client d2Client, String clusterDiscoveryD2ServiceName, io.tehuti.metrics.MetricsRepository metricsRepository, VeniceProperties backendConfig, Optional<Set<String>> managedClients, ICProvider icProvider, Executor readChunkExecutorForLargeRequest)
-
-
Method Details
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
getGenericAvroClient
- Specified by:
getGenericAvroClientin interfaceDaVinciClientFactory
-
getGenericAvroClient
public <K,V> DaVinciClient<K,V> getGenericAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) -
getAndStartGenericAvroClient
public <K,V> DaVinciClient<K,V> getAndStartGenericAvroClient(String storeName, DaVinciConfig config) - Specified by:
getAndStartGenericAvroClientin interfaceDaVinciClientFactory
-
getAndStartGenericAvroClient
public <K,V> DaVinciClient<K,V> getAndStartGenericAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) -
getGenericAvroClient
public <K,V> DaVinciClient<K,V> getGenericAvroClient(String storeName, String viewName, DaVinciConfig config) - Specified by:
getGenericAvroClientin interfaceDaVinciClientFactory
-
getAndStartGenericAvroClient
public <K,V> DaVinciClient<K,V> getAndStartGenericAvroClient(String storeName, String viewName, DaVinciConfig config) - Specified by:
getAndStartGenericAvroClientin interfaceDaVinciClientFactory
-
getSpecificAvroClient
public <K,V extends org.apache.avro.specific.SpecificRecord> DaVinciClient<K,V> getSpecificAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) - Specified by:
getSpecificAvroClientin interfaceDaVinciClientFactory
-
getAndStartSpecificAvroClient
public <K,V extends org.apache.avro.specific.SpecificRecord> DaVinciClient<K,V> getAndStartSpecificAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass) - Specified by:
getAndStartSpecificAvroClientin interfaceDaVinciClientFactory
-
getSpecificAvroClient
public <K,V extends org.apache.avro.specific.SpecificRecord> DaVinciClient<K,V> getSpecificAvroClient(String storeName, String viewName, DaVinciConfig config, Class<V> valueClass) - Specified by:
getSpecificAvroClientin interfaceDaVinciClientFactory
-
getAndStartSpecificAvroClient
public <K,V extends org.apache.avro.specific.SpecificRecord> DaVinciClient<K,V> getAndStartSpecificAvroClient(String storeName, String viewName, DaVinciConfig config, Class<V> valueClass) - Specified by:
getAndStartSpecificAvroClientin interfaceDaVinciClientFactory
-
getVersionSpecificGenericAvroClient
public <K,V> SeekableDaVinciClient<K,V> getVersionSpecificGenericAvroClient(String storeName, int storeVersion, DaVinciConfig config) - Specified by:
getVersionSpecificGenericAvroClientin interfaceVersionSpecificDaVinciClientFactory
-
getAndStartVersionSpecificGenericAvroClient
public <K,V> SeekableDaVinciClient<K,V> getAndStartVersionSpecificGenericAvroClient(String storeName, int storeVersion, DaVinciConfig config) - Specified by:
getAndStartVersionSpecificGenericAvroClientin interfaceVersionSpecificDaVinciClientFactory
-
getVersionSpecificGenericAvroClient
public <K,V> SeekableDaVinciClient<K,V> getVersionSpecificGenericAvroClient(String storeName, int storeVersion, String viewName, DaVinciConfig config) - Specified by:
getVersionSpecificGenericAvroClientin interfaceVersionSpecificDaVinciClientFactory
-
getAndStartVersionSpecificGenericAvroClient
public <K,V> SeekableDaVinciClient<K,V> getAndStartVersionSpecificGenericAvroClient(String storeName, int storeVersion, String viewName, DaVinciConfig config) - Specified by:
getAndStartVersionSpecificGenericAvroClientin interfaceVersionSpecificDaVinciClientFactory
-
getBackendConfig
-
getClient
protected DaVinciClient getClient(String storeName, String viewName, DaVinciConfig config, Class valueClass, CachingDaVinciClientFactory.DaVinciClientConstructor clientConstructor, Class clientClass, boolean startClient) -
getClient
protected DaVinciClient getClient(String storeName, Integer storeVersion, String viewName, DaVinciConfig config, Class valueClass, CachingDaVinciClientFactory.DaVinciClientConstructor clientConstructor, Class clientClass, boolean startClient) - Parameters:
storeVersion- Pass in a non-null value if you want a version specificDaVinciClient
-
getGenericSeekableAvroClient
public <K,V> SeekableDaVinciClient<K,V> getGenericSeekableAvroClient(String storeName, DaVinciConfig config) -
getAndStartGenericSeekableAvroClient
public <K,V> SeekableDaVinciClient<K,V> getAndStartGenericSeekableAvroClient(String storeName, DaVinciConfig config) -
getSpecificSeekableAvroClient
public <K,V> SeekableDaVinciClient<K,V> getSpecificSeekableAvroClient(String storeName, DaVinciConfig config, Class<V> valueClass)
-