Class NativeMetadataRepository

java.lang.Object
com.linkedin.davinci.repository.NativeMetadataRepository
All Implemented Interfaces:
ClusterInfoProvider, ReadOnlySchemaRepository, ReadOnlyStoreRepository, SubscriptionBasedReadOnlyStoreRepository, VeniceResource
Direct Known Subclasses:
ThinClientMetaStoreBasedRepository

public abstract class NativeMetadataRepository extends Object implements SubscriptionBasedReadOnlyStoreRepository, ReadOnlySchemaRepository, ClusterInfoProvider
Venice in-house implementation of a read only metadata repository where callers can retrieve various metadata such as Store objects and their corresponding schemas. The implementers of this abstract class all relies on some flavors of Venice system store to carry the metadata from Venice internal components (source) to external consumers such as a DaVinci client (destination). This abstract class includes the implementation of an in-memory cache for all subscribed stores' metadata. Callers are served by the cache and the cache is refreshed periodically by updating it with methods provided by the implementers.