Class SystemStoreInitializationHelper
java.lang.Object
com.linkedin.venice.controller.init.SystemStoreInitializationHelper
This class contains the logic to set up system stores. Currently, it only handles RT system stores that are either
shared between all clusters (push job details and batch job heartbeat system store) or one system store per cluster
(participant store).
There are some differences in the initialization of system store
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
setupSystemStore
(String clusterName, String systemStoreName, AvroProtocolDefinition protocolDefinition, org.apache.avro.Schema keySchema, Function<Store, Boolean> updateStoreCheckSupplier, UpdateStoreQueryParams updateStoreQueryParams, Admin admin, VeniceControllerMultiClusterConfig multiClusterConfigs) The main function that initializes and configures shared system stores
-
Method Details
-
setupSystemStore
public static void setupSystemStore(String clusterName, String systemStoreName, AvroProtocolDefinition protocolDefinition, org.apache.avro.Schema keySchema, Function<Store, Boolean> updateStoreCheckSupplier, UpdateStoreQueryParams updateStoreQueryParams, Admin admin, VeniceControllerMultiClusterConfig multiClusterConfigs) The main function that initializes and configures shared system stores- Parameters:
clusterName
- The cluster where the system store existssystemStoreName
- The name of the system storeprotocolDefinition
- TheAvroProtocolDefinition
of the value schemas of the system storekeySchema
- The Key Schema of the system store. If it isnull
, an int schema is used by defaultupdateStoreCheckSupplier
- A function that decides if an update store operation should be performed on the system storeupdateStoreQueryParams
- The update store operation that needs to be applied on the store. Can be nulladmin
-VeniceParentHelixAdmin
if this is the parent controller.VeniceHelixAdmin
otherwisemultiClusterConfigs
- The controller configs
-