@@ -764,9 +764,7 @@ namespace NKikimr::NGRpcProxy::V1 {
764764 }
765765
766766 if (settings.has_partitions_count ()) {
767- if (settings.partitions_count () > 0 ) {
768- minParts = settings.partitions_count ();
769- }
767+ minParts = settings.partitions_count ();
770768 } else if (settings.has_autoscaling_settings ()) {
771769 const auto & autoScalteSettings = settings.autoscaling_settings ();
772770 if (autoScalteSettings.min_active_partitions () > 0 ) {
@@ -796,6 +794,10 @@ namespace NKikimr::NGRpcProxy::V1 {
796794 }
797795 }
798796 }
797+ if (minParts <= 0 ) {
798+ error = TStringBuilder () << " Partitions count must be positive, provided " << settings.partitions_count ();
799+ return Ydb::StatusIds::BAD_REQUEST;
800+ }
799801 pqDescr->SetTotalGroupCount (minParts);
800802 pqTabletConfig->SetRequireAuthWrite (true );
801803 pqTabletConfig->SetRequireAuthRead (true );
@@ -1088,9 +1090,11 @@ namespace NKikimr::NGRpcProxy::V1 {
10881090
10891091 if (request.has_partitioning_settings ()) {
10901092 const auto & settings = request.partitioning_settings ();
1091- if (settings.min_active_partitions () > 0 ) {
1092- minParts = settings.min_active_partitions ();
1093+ if (settings.min_active_partitions () < 0 ) {
1094+ error = TStringBuilder () << " Partitions count must be positive, provided " << settings.min_active_partitions ();
1095+ return TYdbPqCodes (Ydb::StatusIds::BAD_REQUEST, Ydb::PersQueue::ErrorCode::VALIDATION_ERROR);
10931096 }
1097+ minParts = std::max<ui32>(1 , settings.min_active_partitions ());
10941098 if (AppData (ctx)->FeatureFlags .GetEnableTopicSplitMerge () && request.has_partitioning_settings ()) {
10951099 auto pqTabletConfigPartStrategy = pqTabletConfig->MutablePartitionStrategy ();
10961100 auto autoscaleSettings = settings.autoscaling_settings ();
0 commit comments