@@ -187,20 +187,23 @@ namespace NKikimr::NDataStreams::V1 {
187
187
}
188
188
189
189
auto & s = GetProtoRequest ()->partitioning_settings ();
190
- auto * t = topicRequest.mutable_partitioning_settings ();
191
- t->set_min_active_partitions (s.min_active_partitions ());
192
- t->set_max_active_partitions (s.max_active_partitions ());
193
-
194
190
auto & as = s.auto_partitioning_settings ();
191
+
192
+ auto * t = topicRequest.mutable_partitioning_settings ();
195
193
auto * at = t->mutable_auto_partitioning_settings ();
194
+
196
195
at->set_strategy (static_cast <::Ydb::Topic::AutoPartitioningStrategy>(as.strategy ()));
196
+ if (at->strategy () != ::Ydb::Topic::AutoPartitioningStrategy::AUTO_PARTITIONING_STRATEGY_DISABLED) {
197
+ t->set_min_active_partitions (s.min_active_partitions ());
198
+ t->set_max_active_partitions (s.max_active_partitions ());
197
199
198
- auto & ws = as.partition_write_speed ();
199
- auto * wt = at->mutable_partition_write_speed ();
200
+ auto & ws = as.partition_write_speed ();
201
+ auto * wt = at->mutable_partition_write_speed ();
200
202
201
- wt->mutable_stabilization_window ()->CopyFrom (ws.stabilization_window ());
202
- wt->set_up_utilization_percent (ws.up_utilization_percent ());
203
- wt->set_down_utilization_percent (ws.down_utilization_percent ());
203
+ wt->mutable_stabilization_window ()->CopyFrom (ws.stabilization_window ());
204
+ wt->set_up_utilization_percent (ws.up_utilization_percent ());
205
+ wt->set_down_utilization_percent (ws.down_utilization_percent ());
206
+ }
204
207
}
205
208
206
209
auto pqDescr = modifyScheme.MutableCreatePersQueueGroup ();
@@ -507,17 +510,21 @@ namespace NKikimr::NDataStreams::V1 {
507
510
break ;
508
511
}
509
512
510
- t->SetMinPartitionCount (s.min_active_partitions () ? s.min_active_partitions () : 1 );
511
- if (!s.max_active_partitions () && t->GetPartitionStrategyType () != NKikimrPQ::TPQTabletConfig_TPartitionStrategyType::TPQTabletConfig_TPartitionStrategyType_DISABLED) {
512
- t->SetMaxPartitionCount (1 );
513
- } else {
514
- t->SetMaxPartitionCount (s.max_active_partitions ());
515
- }
513
+ if (t->GetPartitionStrategyType () != NKikimrPQ::TPQTabletConfig_TPartitionStrategyType::TPQTabletConfig_TPartitionStrategyType_DISABLED) {
514
+ t->SetMinPartitionCount (s.min_active_partitions () ? s.min_active_partitions () : 1 );
515
+ if (!s.max_active_partitions () && t->GetPartitionStrategyType () != NKikimrPQ::TPQTabletConfig_TPartitionStrategyType::TPQTabletConfig_TPartitionStrategyType_DISABLED) {
516
+ t->SetMaxPartitionCount (1 );
517
+ } else {
518
+ t->SetMaxPartitionCount (s.max_active_partitions ());
519
+ }
516
520
517
- auto & ws = as.partition_write_speed ();
518
- t->SetScaleThresholdSeconds (ws.stabilization_window ().seconds () ? ws.stabilization_window ().seconds () : 300 );
519
- t->SetScaleUpPartitionWriteSpeedThresholdPercent (ws.up_utilization_percent () ? ws.up_utilization_percent () : 90 );
520
- t->SetScaleDownPartitionWriteSpeedThresholdPercent (ws.down_utilization_percent () ? ws.down_utilization_percent () : 30 );
521
+ auto & ws = as.partition_write_speed ();
522
+ t->SetScaleThresholdSeconds (ws.stabilization_window ().seconds () ? ws.stabilization_window ().seconds () : 300 );
523
+ t->SetScaleUpPartitionWriteSpeedThresholdPercent (ws.up_utilization_percent () ? ws.up_utilization_percent () : 90 );
524
+ t->SetScaleDownPartitionWriteSpeedThresholdPercent (ws.down_utilization_percent () ? ws.down_utilization_percent () : 30 );
525
+ } else if (0 == s.max_active_partitions ()) {
526
+ t->SetMaxPartitionCount (0 );
527
+ }
521
528
}
522
529
523
530
auto serviceTypes = GetSupportedClientServiceTypes (pqConfig);
0 commit comments