Package com.linkedin.venice.client.store
Class RetriableStoreClient<K,V>
- java.lang.Object
-
- com.linkedin.venice.client.store.InternalAvroStoreClient<K,V>
-
- com.linkedin.venice.client.store.DelegatingStoreClient<K,V>
-
- com.linkedin.venice.client.store.RetriableStoreClient<K,V>
-
- All Implemented Interfaces:
AvroGenericReadComputeStoreClient<K,V>
,AvroGenericStoreClient<K,V>
,java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
SpecificRetriableStoreClient
public class RetriableStoreClient<K,V> extends DelegatingStoreClient<K,V>
TODO: make retry work for compute request.
-
-
Constructor Summary
Constructors Constructor Description RetriableStoreClient(StatTrackingStoreClient<K,V> innerStoreClient, ClientConfig clientConfig)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.concurrent.CompletableFuture<java.util.Map<K,V>>
batchGet(java.util.Set<K> keys)
Adding retry logic on router error as this method returning the completion stage value.java.util.concurrent.CompletableFuture<V>
get(K key)
Adding retry logic on router error as this method returning the completion stage value.static java.util.concurrent.Executor
getDefaultRetryExecutor()
-
Methods inherited from class com.linkedin.venice.client.store.DelegatingStoreClient
close, compute, compute, computeWithKeyPrefixFilter, get, getDeserializationExecutor, getInnerStoreClient, getKeySchema, getLatestValueSchema, getRaw, getSchemaReader, getStoreName, isProjectionFieldValidationEnabled, start, streamingBatchGet
-
Methods inherited from class com.linkedin.venice.client.store.InternalAvroStoreClient
getRaw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.linkedin.venice.client.store.AvroGenericReadComputeStoreClient
compute, compute, compute
-
Methods inherited from interface com.linkedin.venice.client.store.AvroGenericStoreClient
get, streamingBatchGet
-
-
-
-
Constructor Detail
-
RetriableStoreClient
public RetriableStoreClient(StatTrackingStoreClient<K,V> innerStoreClient, ClientConfig clientConfig)
-
-
Method Detail
-
getDefaultRetryExecutor
public static java.util.concurrent.Executor getDefaultRetryExecutor()
-
get
public java.util.concurrent.CompletableFuture<V> get(K key) throws VeniceClientException
Adding retry logic on router error as this method returning the completion stage value.- Specified by:
get
in interfaceAvroGenericStoreClient<K,V>
- Overrides:
get
in classInternalAvroStoreClient<K,V>
- Returns:
- Throws:
VeniceClientException
-
batchGet
public java.util.concurrent.CompletableFuture<java.util.Map<K,V>> batchGet(java.util.Set<K> keys) throws VeniceClientException
Adding retry logic on router error as this method returning the completion stage value.- Specified by:
batchGet
in interfaceAvroGenericStoreClient<K,V>
- Overrides:
batchGet
in classDelegatingStoreClient<K,V>
- Returns:
- Throws:
VeniceClientException
-
-