Class CreateVersion

java.lang.Object
com.linkedin.venice.controller.server.AbstractRoute
com.linkedin.venice.controller.server.CreateVersion

public class CreateVersion extends AbstractRoute
This class will add a new version to the given store.
  • Constructor Details

  • Method Details

    • extractOptionalParamsFromRequestTopicRequest

      protected static void extractOptionalParamsFromRequestTopicRequest(spark.Request httpRequest, RequestTopicForPushRequest request, boolean isAclEnabled)
    • verifyAndConfigurePartitionerSettings

      protected void verifyAndConfigurePartitionerSettings(PartitionerConfig storePartitionerConfig, Set<String> partitionersFromRequest, VersionCreationResponse response)
    • getActiveActiveReplicationCheck

      protected Lazy<Boolean> getActiveActiveReplicationCheck(Admin admin, Store store, String clusterName, String storeName, boolean checkCurrentVersion)
    • applyConfigBasedOnReplication

      protected String applyConfigBasedOnReplication(String configType, String configValue, String storeName, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegion)
    • configureSourceFabric

      protected void configureSourceFabric(Admin admin, Version version, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegions, RequestTopicForPushRequest request, VersionCreationResponse response)
      Configures the source fabric to align with the native replication source fabric selection.

      For incremental pushes using a real-time (RT) policy, the push job produces to the parent Kafka cluster. In such cases, this method ensures that the source fabric is not overridden with the native replication (NR) source fabric to maintain proper configuration.

    • getCompressionStrategy

      protected CompressionStrategy getCompressionStrategy(Version version, String responseTopic)
    • determineResponseTopic

      protected String determineResponseTopic(String storeName, Version version, RequestTopicForPushRequest request)
    • handleNonStreamPushType

      protected void handleNonStreamPushType(Admin admin, Store store, RequestTopicForPushRequest request, VersionCreationResponse response, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegions)
    • handleStreamPushType

      protected void handleStreamPushType(Admin admin, Store store, RequestTopicForPushRequest request, VersionCreationResponse response)
      Method handle request to get a topic for pushing data to Venice with Version.PushType.STREAM
    • requestTopicForPushing

      public spark.Route requestTopicForPushing(Admin admin)
      Instead of asking Venice to create a version, pushes should ask venice which topic to write into. The logic below includes the ability to respond with an existing topic for the same push, allowing requests to be idempotent.
    • addVersionAndStartIngestion

      public spark.Route addVersionAndStartIngestion(Admin admin)
      This function is only being used by store migration parent controllers, which write add version admin message.
      See Also:
      • Admin#addVersionAndStartIngestion(String, String, String, int, int, PushType, String, long, int, boolean, int)
    • uploadPushInfo

      @Deprecated public spark.Route uploadPushInfo(Admin admin)
      Deprecated.
    • writeEndOfPush

      public spark.Route writeEndOfPush(Admin admin)
      See Also:
    • emptyPush

      public spark.Route emptyPush(Admin admin)