Class CreateVersion
java.lang.Object
com.linkedin.venice.controller.server.AbstractRoute
com.linkedin.venice.controller.server.CreateVersion
This class will add a new version to the given store.
-
Constructor Summary
ConstructorsConstructorDescriptionCreateVersion(boolean sslEnabled, Optional<DynamicAccessController> accessController, boolean checkReadMethodForKafka) -
Method Summary
Modifier and TypeMethodDescriptionspark.RouteaddVersionAndStartIngestion(Admin admin) This function is only being used by store migration parent controllers, which write add version admin message.protected StringapplyConfigBasedOnReplication(String configType, String configValue, String storeName, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegion) protected voidconfigureSourceFabric(Admin admin, Version version, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegions, RequestTopicForPushRequest request, VersionCreationResponse response) Configures the source fabric to align with the native replication source fabric selection.protected StringdetermineResponseTopic(String storeName, Version version, RequestTopicForPushRequest request) spark.Routeprotected static voidextractOptionalParamsFromRequestTopicRequest(spark.Request httpRequest, RequestTopicForPushRequest request, boolean isAclEnabled) getActiveActiveReplicationCheck(Admin admin, Store store, String clusterName, String storeName, boolean checkCurrentVersion) protected CompressionStrategygetCompressionStrategy(Version version, String responseTopic) protected voidhandleNonStreamPushType(Admin admin, Store store, RequestTopicForPushRequest request, VersionCreationResponse response, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegions) protected voidhandleStreamPushType(Admin admin, Store store, RequestTopicForPushRequest request, VersionCreationResponse response) Method handle request to get a topic for pushing data to Venice withVersion.PushType.STREAMspark.RouterequestTopicForPushing(Admin admin) Instead of asking Venice to create a version, pushes should ask venice which topic to write into.spark.RouteuploadPushInfo(Admin admin) Deprecated.protected voidverifyAndConfigurePartitionerSettings(PartitionerConfig storePartitionerConfig, Set<String> partitionersFromRequest, VersionCreationResponse response) spark.RoutewriteEndOfPush(Admin admin) Methods inherited from class com.linkedin.venice.controller.server.AbstractRoute
getCertificate, getPrincipalId, hasAccessToStore, hasReadAccessToTopic, hasWriteAccessToTopic, isAclEnabled, isAllowListUser, isSslEnabled
-
Constructor Details
-
CreateVersion
public CreateVersion(boolean sslEnabled, Optional<DynamicAccessController> accessController, boolean checkReadMethodForKafka)
-
-
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
-
applyConfigBasedOnReplication
-
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
-
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 withVersion.PushType.STREAM -
requestTopicForPushing
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
This function is only being used by store migration parent controllers, which write add version admin message. -
uploadPushInfo
Deprecated. -
writeEndOfPush
-
emptyPush
-