Package com.linkedin.venice.client.store
Class AvroSpecificStoreClientImpl<K,V extends org.apache.avro.specific.SpecificRecord>
- java.lang.Object
-
- com.linkedin.venice.client.store.InternalAvroStoreClient<K,V>
-
- com.linkedin.venice.client.store.AbstractAvroStoreClient<K,V>
-
- com.linkedin.venice.client.store.AvroSpecificStoreClientImpl<K,V>
-
- Type Parameters:
V
-
- All Implemented Interfaces:
AvroGenericReadComputeStoreClient<K,V>
,AvroGenericStoreClient<K,V>
,AvroSpecificStoreClient<K,V>
,java.io.Closeable
,java.lang.AutoCloseable
public class AvroSpecificStoreClientImpl<K,V extends org.apache.avro.specific.SpecificRecord> extends AbstractAvroStoreClient<K,V> implements AvroSpecificStoreClient<K,V>
AvroSpecificStoreClient
implementation for Avro SpecificRecord.
-
-
Field Summary
-
Fields inherited from class com.linkedin.venice.client.store.AbstractAvroStoreClient
B64_FORMAT, computeRequestClientKeySerializer, keySerializer, multiGetRequestSerializer, needSchemaReader, TYPE_COMPUTE, TYPE_STORAGE
-
-
Constructor Summary
Constructors Constructor Description AvroSpecificStoreClientImpl(TransportClient transportClient, ClientConfig clientConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RecordDeserializer<V>
getDataRecordDeserializer(int schemaId)
protected java.util.Optional<org.apache.avro.Schema>
getReaderSchema()
protected AbstractAvroStoreClient<K,V>
getStoreClientForSchemaReader()
To avoid cycle dependency, we need to initialize another store client for schema reader.void
start()
-
Methods inherited from class com.linkedin.venice.client.store.AbstractAvroStoreClient
close, compute, createKeySerializer, get, getClientConfig, getComputeRequestPath, getDefaultDeserializationExecutor, getDeserializationExecutor, getKeySchema, getKeySerializerForRequest, getKeySerializerWithoutRetry, getLatestValueSchema, getRaw, getRequestPathByKey, getSchemaReader, getStoreName, getTransportClient, handleCallbackForEmptyKeySet, init, isProjectionFieldValidationEnabled, setAsyncStoreInitSleepIntervalMs, streamingBatchGet, toString, tryToDeserializeWithVerboseLogging
-
Methods inherited from class com.linkedin.venice.client.store.InternalAvroStoreClient
computeWithKeyPrefixFilter, get, getRaw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.linkedin.venice.client.store.AvroGenericReadComputeStoreClient
compute, compute, compute, compute
-
Methods inherited from interface com.linkedin.venice.client.store.AvroGenericStoreClient
batchGet, close, get, get, getKeySchema, getLatestValueSchema, getStoreName, streamingBatchGet, streamingBatchGet
-
-
-
-
Constructor Detail
-
AvroSpecificStoreClientImpl
public AvroSpecificStoreClientImpl(TransportClient transportClient, ClientConfig clientConfig)
-
-
Method Detail
-
start
public void start()
- Specified by:
start
in interfaceAvroGenericStoreClient<K,V extends org.apache.avro.specific.SpecificRecord>
- Overrides:
start
in classAbstractAvroStoreClient<K,V extends org.apache.avro.specific.SpecificRecord>
-
getStoreClientForSchemaReader
protected AbstractAvroStoreClient<K,V> getStoreClientForSchemaReader()
To avoid cycle dependency, we need to initialize another store client for schema reader.- Specified by:
getStoreClientForSchemaReader
in classAbstractAvroStoreClient<K,V extends org.apache.avro.specific.SpecificRecord>
- Returns:
- Throws:
VeniceClientException
-
getDataRecordDeserializer
public RecordDeserializer<V> getDataRecordDeserializer(int schemaId) throws VeniceClientException
- Specified by:
getDataRecordDeserializer
in classAbstractAvroStoreClient<K,V extends org.apache.avro.specific.SpecificRecord>
- Throws:
VeniceClientException
-
getReaderSchema
protected java.util.Optional<org.apache.avro.Schema> getReaderSchema()
- Overrides:
getReaderSchema
in classAbstractAvroStoreClient<K,V extends org.apache.avro.specific.SpecificRecord>
-
-