Class VeniceClientBasedMetadata

  • All Implemented Interfaces:
    StoreMetadata, SchemaReader, java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    DaVinciClientBasedMetadata, ThinClientBasedMetadata

    public abstract class VeniceClientBasedMetadata
    extends AbstractStoreMetadata
    A store metadata abstraction that uses Venice clients to fetch the metadata and keep the local cache updated. There are currently two types implementations/clients for this. One is using a DaVinci client based metadata (deprecating it due to cyclic dependency when the application is also running DVCs) and a thin client based metadata.
    • Constructor Detail

      • VeniceClientBasedMetadata

        protected VeniceClientBasedMetadata​(ClientConfig clientConfig)
    • Method Detail

      • getCurrentStoreVersion

        public int getCurrentStoreVersion()
      • getPartitionId

        public int getPartitionId​(int version,
                                  java.nio.ByteBuffer key)
      • getReplicas

        public java.util.List<java.lang.String> getReplicas​(int version,
                                                            int partitionId)
      • start

        public void start()
      • 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)
      • getLatestValueSchema

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

        public java.lang.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)
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class AbstractStoreMetadata
        Throws:
        java.io.IOException