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 D2TransportClient directly (rather than AbstractAvroStoreClient)
to avoid store-level D2 service discovery, which requires a store name and is unnecessary for
cluster-agnostic endpoints like /stores.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRouterBasedStoreMetadataFetcher(com.linkedin.d2.balancer.D2Client d2Client, String d2ServiceName) -
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
public RouterBasedStoreMetadataFetcher(com.linkedin.d2.balancer.D2Client d2Client, String d2ServiceName)
-
-
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
-