Package com.linkedin.venice.client.store
Class RouterBasedStoreMetadataFetcher
java.lang.Object
com.linkedin.venice.client.store.RouterBasedStoreMetadataFetcher
- All Implemented Interfaces:
StoreMetadataFetcher,Closeable,AutoCloseable
Router-based implementation for fetching store metadata that is not cluster-specific.
Unlike
RouterBasedStoreSchemaFetcher, this class
is not tied to a specific store and operates on metadata available globally across clusters.
This class uses a TransportClient directly (rather than AbstractAvroStoreClient)
because AbstractAvroStoreClient is store-scoped, whereas /stores is a
cluster-agnostic router endpoint. The underlying transport may be D2-, HTTPS-, or HTTP-backed
depending on how the caller configured the ClientConfig passed to
ClientFactory.createStoreMetadataFetcher(ClientConfig).-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRouterBasedStoreMetadataFetcher(ClientConfig clientConfig) Constructs a fetcher that owns the underlyingTransportClientbuilt fromclientConfig; closing this fetcher closes the transport. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Returns all store names available across all clusters, as seen by the router's non-cluster-specificHelixReadOnlyStoreConfigRepository.
-
Field Details
-
TYPE_STORES
- See Also:
-
-
Constructor Details
-
RouterBasedStoreMetadataFetcher
Constructs a fetcher that owns the underlyingTransportClientbuilt fromclientConfig; closing this fetcher closes the transport.
-
-
Method Details
-
getAllStoreNames
Returns all store names available across all clusters, as seen by the router's non-cluster-specificHelixReadOnlyStoreConfigRepository.- Specified by:
getAllStoreNamesin interfaceStoreMetadataFetcher
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-