From c4c0a7af96db091b794c0d00cf2d3e53ce61223b Mon Sep 17 00:00:00 2001 From: Nikita Saveliev Date: Mon, 16 Sep 2024 13:18:11 +0000 Subject: [PATCH 1/2] Ignore auto partitioning fields if disabled --- ydb/services/lib/actors/pq_schema_actor.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ydb/services/lib/actors/pq_schema_actor.cpp b/ydb/services/lib/actors/pq_schema_actor.cpp index 49331ea0a7cf..736e7b0d04f4 100644 --- a/ydb/services/lib/actors/pq_schema_actor.cpp +++ b/ydb/services/lib/actors/pq_schema_actor.cpp @@ -688,9 +688,6 @@ namespace NKikimr::NGRpcProxy::V1 { if (!config.HasPartitionStrategy()) { return std::nullopt; } - if (::NKikimrPQ::TPQTabletConfig_TPartitionStrategyType::TPQTabletConfig_TPartitionStrategyType_DISABLED == config.GetPartitionStrategy().GetPartitionStrategyType()) { - return std::nullopt; - } auto strategy = config.GetPartitionStrategy(); if (strategy.GetMinPartitionCount() < 0) { error = TStringBuilder() << "Partitions count must be non-negative, provided " << strategy.GetMinPartitionCount(); @@ -1098,7 +1095,10 @@ namespace NKikimr::NGRpcProxy::V1 { return TYdbPqCodes(Ydb::StatusIds::BAD_REQUEST, Ydb::PersQueue::ErrorCode::VALIDATION_ERROR); } minParts = std::max(1, settings.min_active_partitions()); - if (appData->FeatureFlags.GetEnableTopicSplitMerge() && request.has_partitioning_settings()) { + if (appData->FeatureFlags.GetEnableTopicSplitMerge() && + request.partitioning_settings().has_auto_partitioning_settings() && + request.partitioning_settings().auto_partitioning_settings().strategy() != ::Ydb::Topic::AutoPartitioningStrategy::AUTO_PARTITIONING_STRATEGY_DISABLED) { + auto pqTabletConfigPartStrategy = pqTabletConfig->MutablePartitionStrategy(); auto autoscaleSettings = settings.auto_partitioning_settings(); pqTabletConfigPartStrategy->SetMinPartitionCount(minParts); From db67711ecc9749fec8a00e19755284804e930184 Mon Sep 17 00:00:00 2001 From: Nikita Saveliev Date: Tue, 17 Sep 2024 10:42:25 +0000 Subject: [PATCH 2/2] fix --- ydb/services/persqueue_v1/topic_yql_ut.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ydb/services/persqueue_v1/topic_yql_ut.cpp b/ydb/services/persqueue_v1/topic_yql_ut.cpp index 8f698f703dc2..72f7e6950d70 100644 --- a/ydb/services/persqueue_v1/topic_yql_ut.cpp +++ b/ydb/services/persqueue_v1/topic_yql_ut.cpp @@ -35,7 +35,8 @@ Y_UNIT_TEST_SUITE(TTopicYqlTest) { CREATE TOPIC `/Root/PQ/rt3.dc1--legacy--topic1` ( CONSUMER c1 ) WITH (min_active_partitions = 2, - partition_count_limit = 5 + partition_count_limit = 5, + auto_partitioning_strategy = 'scale_up' ); )__";