Class RequestBasedMetadata

java.lang.Object
com.linkedin.venice.fastclient.meta.AbstractStoreMetadata
com.linkedin.venice.fastclient.meta.RequestBasedMetadata
All Implemented Interfaces:
StoreMetadata, SchemaReader, Closeable, AutoCloseable

public class RequestBasedMetadata extends AbstractStoreMetadata
Store metadata class that uses the server's endpoint to fetch metadata and keep the local cache up to date.
  • Field Details

    • DEFAULT_REFRESH_INTERVAL_IN_SECONDS

      public static final long DEFAULT_REFRESH_INTERVAL_IN_SECONDS
      See Also:
    • DEFAULT_CONN_WARMUP_TIMEOUT_IN_SECONDS_DEFAULT

      public static final long DEFAULT_CONN_WARMUP_TIMEOUT_IN_SECONDS_DEFAULT
      See Also:
  • Constructor Details

  • Method Details

    • getClusterName

      public String getClusterName()
    • getCurrentStoreVersion

      public int getCurrentStoreVersion()
    • getPartitionId

      public int getPartitionId(int version, ByteBuffer key)
    • getReplicas

      public List<String> getReplicas(int version, int partitionId)
    • start

      public void start()
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class AbstractStoreMetadata
      Throws:
      IOException
    • getCompressor

      public VeniceCompressor getCompressor(CompressionStrategy compressionStrategy, int version)
    • getKeySchema

      public org.apache.avro.Schema getKeySchema()
    • getValueSchema

      public org.apache.avro.Schema getValueSchema(int id)
    • getValueSchemaId

      public int getValueSchemaId(org.apache.avro.Schema schema)
      Description copied from interface: SchemaReader
      Return the schema ID of any schema that has the same parsing canonical form as the schema provided.
      Parameters:
      schema - The schema for which the schema ID is needed
      Returns:
      The ID of the schema that has the same parsing canonical form as the schema provided
    • getLatestValueSchema

      public org.apache.avro.Schema getLatestValueSchema()
    • getLatestValueSchemaId

      public Integer getLatestValueSchemaId()
      Description copied from interface: SchemaReader
      Get the latest value schema id. This may be different from the value schema with the largest id if the superset schema is not the value schema with the largest id
    • getUpdateSchema

      public org.apache.avro.Schema getUpdateSchema(int valueSchemaId)
    • getLatestUpdateSchema

      public DerivedSchemaEntry getLatestUpdateSchema()
    • isReady

      public boolean isReady()
    • getBatchGetLimit

      public int getBatchGetLimit()
      Specified by:
      getBatchGetLimit in interface StoreMetadata
      Overrides:
      getBatchGetLimit in class AbstractStoreMetadata
    • setD2ServiceDiscovery

      public void setD2ServiceDiscovery(D2ServiceDiscovery d2ServiceDiscovery)
      Used for test only
      Parameters:
      d2ServiceDiscovery -
    • setScheduler

      public void setScheduler(ScheduledExecutorService scheduler)
    • getScheduler

      public ScheduledExecutorService getScheduler()
    • setIsReadyLatch

      public void setIsReadyLatch(CountDownLatch isReadyLatch)
    • getIsReadyLatch

      public CountDownLatch getIsReadyLatch()
    • setRefreshIntervalInSeconds

      public void setRefreshIntervalInSeconds(long refreshIntervalInSeconds)
    • getRefreshIntervalInSeconds

      public long getRefreshIntervalInSeconds()
    • getWarmUpInstancesFutures

      public Map<String,CompletableFuture> getWarmUpInstancesFutures()
    • setWarmUpInstancesFutures

      public void setWarmUpInstancesFutures(Map<String,CompletableFuture> warmUpInstancesFutures)