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
ConstructorDescriptionCreateVersion
(boolean sslEnabled, Optional<DynamicAccessController> accessController, boolean checkReadMethodForKafka, boolean disableParentRequestTopicForStreamPushes) -
Method Summary
Modifier and TypeMethodDescriptionspark.Route
addVersionAndStartIngestion
(Admin admin) This function is only being used by store migration parent controllers, which write add version admin message.protected String
applyConfigBasedOnReplication
(String configType, String configValue, String storeName, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegion) 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.protected String
determineResponseTopic
(String storeName, Version version, RequestTopicForPushRequest request) spark.Route
protected static void
extractOptionalParamsFromRequestTopicRequest
(spark.Request httpRequest, RequestTopicForPushRequest request, boolean isAclEnabled) getActiveActiveReplicationCheck
(Admin admin, Store store, String clusterName, String storeName, boolean checkCurrentVersion) protected CompressionStrategy
getCompressionStrategy
(Version version, String responseTopic) protected void
handleNonStreamPushType
(Admin admin, Store store, RequestTopicForPushRequest request, VersionCreationResponse response, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegions) protected void
handleStreamPushType
(Admin admin, Store store, RequestTopicForPushRequest request, VersionCreationResponse response, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegionAllVersions) Method handle request to get a topic for pushing data to Venice withVersion.PushType.STREAM
spark.Route
requestTopicForPushing
(Admin admin) Instead of asking Venice to create a version, pushes should ask venice which topic to write into.spark.Route
uploadPushInfo
(Admin admin) Deprecated.protected void
verifyAndConfigurePartitionerSettings
(PartitionerConfig storePartitionerConfig, Set<String> partitionersFromRequest, VersionCreationResponse response) spark.Route
writeEndOfPush
(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, boolean disableParentRequestTopicForStreamPushes)
-
-
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, Lazy<Boolean> isActiveActiveReplicationEnabledInAllRegionAllVersions) 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
-