Skip to content

Commit 7a1c417

Browse files
authored
Merge 8a25377 into 6be4149
2 parents 6be4149 + 8a25377 commit 7a1c417

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

ydb/services/datastreams/datastreams_proxy.cpp

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -187,20 +187,23 @@ namespace NKikimr::NDataStreams::V1 {
187187
}
188188

189189
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-
194190
auto& as = s.auto_partitioning_settings();
191+
192+
auto* t = topicRequest.mutable_partitioning_settings();
195193
auto* at = t->mutable_auto_partitioning_settings();
194+
196195
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());
197199

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();
200202

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+
}
204207
}
205208

206209
auto pqDescr = modifyScheme.MutableCreatePersQueueGroup();
@@ -507,17 +510,21 @@ namespace NKikimr::NDataStreams::V1 {
507510
break;
508511
}
509512

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+
}
516520

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+
}
521528
}
522529

523530
auto serviceTypes = GetSupportedClientServiceTypes(pqConfig);

0 commit comments

Comments
 (0)