Class SystemStoreInitializationHelper

java.lang.Object
com.linkedin.venice.controller.init.SystemStoreInitializationHelper

public final class SystemStoreInitializationHelper extends Object
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 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 exists
      systemStoreName - The name of the system store
      protocolDefinition - The AvroProtocolDefinition of the value schemas of the system store
      keySchema - The Key Schema of the system store. If it is null, an int schema is used by default
      updateStoreCheckSupplier - A function that decides if an update store operation should be performed on the system store
      updateStoreQueryParams - The update store operation that needs to be applied on the store. Can be null
      admin - VeniceParentHelixAdmin if this is the parent controller. VeniceHelixAdmin otherwise
      multiClusterConfigs - The controller configs