@@ -764,9 +764,7 @@ namespace NKikimr::NGRpcProxy::V1 {
764
764
}
765
765
766
766
if (settings.has_partitions_count ()) {
767
- if (settings.partitions_count () > 0 ) {
768
- minParts = settings.partitions_count ();
769
- }
767
+ minParts = settings.partitions_count ();
770
768
} else if (settings.has_autoscaling_settings ()) {
771
769
const auto & autoScalteSettings = settings.autoscaling_settings ();
772
770
if (autoScalteSettings.min_active_partitions () > 0 ) {
@@ -796,6 +794,10 @@ namespace NKikimr::NGRpcProxy::V1 {
796
794
}
797
795
}
798
796
}
797
+ if (minParts <= 0 ) {
798
+ error = TStringBuilder () << " Partitions count must be positive, provided " << settings.partitions_count ();
799
+ return Ydb::StatusIds::BAD_REQUEST;
800
+ }
799
801
pqDescr->SetTotalGroupCount (minParts);
800
802
pqTabletConfig->SetRequireAuthWrite (true );
801
803
pqTabletConfig->SetRequireAuthRead (true );
@@ -1088,9 +1090,11 @@ namespace NKikimr::NGRpcProxy::V1 {
1088
1090
1089
1091
if (request.has_partitioning_settings ()) {
1090
1092
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);
1093
1096
}
1097
+ minParts = std::max<ui32>(1 , settings.min_active_partitions ());
1094
1098
if (AppData (ctx)->FeatureFlags .GetEnableTopicSplitMerge () && request.has_partitioning_settings ()) {
1095
1099
auto pqTabletConfigPartStrategy = pqTabletConfig->MutablePartitionStrategy ();
1096
1100
auto autoscaleSettings = settings.autoscaling_settings ();
0 commit comments