Class SystemStoreInitializationHelper


  • public final class SystemStoreInitializationHelper
    extends java.lang.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 Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void setupSystemStore​(java.lang.String clusterName, java.lang.String systemStoreName, AvroProtocolDefinition protocolDefinition, org.apache.avro.Schema keySchema, java.util.function.Function<Store,​java.lang.Boolean> updateStoreCheckSupplier, UpdateStoreQueryParams updateStoreQueryParams, Admin admin, VeniceControllerMultiClusterConfig multiClusterConfigs)
      The main function that initializes and configures shared system stores
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • setupSystemStore

        public static void setupSystemStore​(java.lang.String clusterName,
                                            java.lang.String systemStoreName,
                                            AvroProtocolDefinition protocolDefinition,
                                            org.apache.avro.Schema keySchema,
                                            java.util.function.Function<Store,​java.lang.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