Skip to content

Commit 17a9a61

Browse files
authored
Disallow disabling of topic autopartitioning (#8871) (#8949)
1 parent f3a1a62 commit 17a9a61

File tree

5 files changed

+4
-70
lines changed

5 files changed

+4
-70
lines changed

ydb/core/persqueue/ut/ut_with_sdk/autoscaling_ut.cpp

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -753,29 +753,7 @@ Y_UNIT_TEST_SUITE(TopicAutoscaling) {
753753
f.Wait();
754754

755755
auto v = f.GetValueSync();
756-
UNIT_ASSERT_C(!v.IsSuccess(), "Must receve error becuse max-partition is not 0");
757-
}
758-
759-
{
760-
TAlterTopicSettings alterSettings;
761-
alterSettings
762-
.BeginAlterPartitioningSettings()
763-
.MaxActivePartitions(0)
764-
.BeginAlterAutoPartitioningSettings()
765-
.Strategy(EAutoPartitioningStrategy::Disabled)
766-
.EndAlterAutoPartitioningSettings()
767-
.EndAlterTopicPartitioningSettings();
768-
auto f = client.AlterTopic(topicName, alterSettings);
769-
f.Wait();
770-
771-
auto v = f.GetValueSync();
772-
UNIT_ASSERT_C(v.IsSuccess(), "Error: " << v);
773-
}
774-
775-
{
776-
auto describeAfterAlter = client.DescribeTopic(topicName).GetValueSync();
777-
778-
UNIT_ASSERT_VALUES_EQUAL(describeAfterAlter.GetTopicDescription().GetPartitioningSettings().GetAutoPartitioningSettings().GetStrategy(), EAutoPartitioningStrategy::Disabled);
756+
UNIT_ASSERT_C(!v.IsSuccess(), "Must receve error becuse disabling is not supported");
779757
}
780758
}
781759

ydb/core/tx/schemeshard/schemeshard__operation_alter_pq.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,12 +181,8 @@ class TAlterPQ: public TSubOperation {
181181

182182
if (alterConfig.HasPartitionStrategy() && !NPQ::SplitMergeEnabled(alterConfig)
183183
&& tabletConfig->HasPartitionStrategy() && NPQ::SplitMergeEnabled(*tabletConfig)) {
184-
if (!alterConfig.GetPartitionStrategy().HasMaxPartitionCount() || 0 != alterConfig.GetPartitionStrategy().GetMaxPartitionCount()) {
185-
errStr = TStringBuilder() << "Can`t disable auto partitioning. Disabling auto partitioning is a destructive operation, "
186-
<< "after which all partitions will become active and the message order guarantee will be violated. "
187-
<< "If you are sure of this, then set max_active_partitions to 0.";
188-
return nullptr;
189-
}
184+
errStr = TStringBuilder() << "Can`t disable auto partitioning.";
185+
return nullptr;
190186
}
191187

192188
if (!alterConfig.HasPartitionStrategy() && tabletConfig->HasPartitionStrategy()) {

ydb/core/tx/schemeshard/ut_topic_splitmerge/ut_topic_splitmerge.cpp

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -667,29 +667,6 @@ Y_UNIT_TEST_SUITE(TSchemeShardTopicSplitMergeTest) {
667667
partitionStrategy->SetPartitionStrategyType(::NKikimrPQ::TPQTabletConfig_TPartitionStrategyType::TPQTabletConfig_TPartitionStrategyType_DISABLED);
668668
}
669669
}, {{TEvSchemeShard::EStatus::StatusInvalidParameter}});
670-
671-
ModifyTopic(runtime, env, txId, [&](auto& scheme) {
672-
{
673-
auto* partitionStrategy = scheme.MutablePQTabletConfig()->MutablePartitionStrategy();
674-
partitionStrategy->SetPartitionStrategyType(::NKikimrPQ::TPQTabletConfig_TPartitionStrategyType::TPQTabletConfig_TPartitionStrategyType_DISABLED);
675-
partitionStrategy->SetMaxPartitionCount(0);
676-
}
677-
});
678-
679-
topic = DescribeTopic(runtime);
680-
681-
UNIT_ASSERT_VALUES_EQUAL(static_cast<int>(::NKikimrPQ::TPQTabletConfig_TPartitionStrategyType::TPQTabletConfig_TPartitionStrategyType_DISABLED),
682-
static_cast<int>(topic.GetPQTabletConfig().GetPartitionStrategy().GetPartitionStrategyType()));
683-
684-
UNIT_ASSERT_VALUES_EQUAL(3, topic.GetPartitions().size());
685-
for (const auto& p : topic.GetPartitions()) {
686-
Cerr << ">>>>> Verify partition " << p.GetPartitionId() << Endl << Flush;
687-
UNIT_ASSERT_VALUES_EQUAL(static_cast<int>(::NKikimrPQ::ETopicPartitionStatus::Active), static_cast<int>(p.GetStatus()));
688-
UNIT_ASSERT(p.GetChildPartitionIds().empty());
689-
UNIT_ASSERT(p.GetParentPartitionIds().empty());
690-
UNIT_ASSERT(!p.HasKeyRange());
691-
}
692-
693670
} // Y_UNIT_TEST(DisableSplitMerge)
694671

695672
Y_UNIT_TEST(EnableSplitMerge) {

ydb/services/datastreams/datastreams_proxy.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,8 +522,6 @@ namespace NKikimr::NDataStreams::V1 {
522522
t->SetScaleThresholdSeconds(ws.stabilization_window().seconds() ? ws.stabilization_window().seconds() : 300);
523523
t->SetScaleUpPartitionWriteSpeedThresholdPercent(ws.up_utilization_percent() ? ws.up_utilization_percent() : 90);
524524
t->SetScaleDownPartitionWriteSpeedThresholdPercent(ws.down_utilization_percent() ? ws.down_utilization_percent() : 30);
525-
} else if (0 == s.max_active_partitions()) {
526-
t->SetMaxPartitionCount(0);
527525
}
528526
}
529527

ydb/services/datastreams/datastreams_ut.cpp

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2909,23 +2909,8 @@ Y_UNIT_TEST_SUITE(DataStreams) {
29092909
).ExtractValueSync();
29102910

29112911
UNIT_ASSERT_VALUES_EQUAL(result.IsTransportError(), false);
2912-
if (result.GetStatus() != EStatus::SUCCESS) {
2913-
result.GetIssues().PrintTo(Cerr);
2914-
}
2915-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
2916-
}
2917-
2918-
{
2919-
auto result = testServer.DataStreamsClient->DescribeStream(streamName2).ExtractValueSync();
2920-
UNIT_ASSERT_VALUES_EQUAL(result.IsTransportError(), false);
2921-
Cerr << result.GetIssues().ToString() << "\n";
2922-
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString());
2923-
2924-
auto& d = result.GetResult().stream_description();
2925-
UNIT_ASSERT_VALUES_EQUAL(d.stream_status(), YDS_V1::StreamDescription::ACTIVE);
2926-
UNIT_ASSERT_VALUES_EQUAL(d.partitioning_settings().auto_partitioning_settings().strategy(), ::Ydb::DataStreams::V1::AutoPartitioningStrategy::AUTO_PARTITIONING_STRATEGY_DISABLED);
2912+
UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::BAD_REQUEST, result.GetIssues().ToString());
29272913
}
2928-
29292914
}
29302915

29312916
Y_UNIT_TEST(Test_Crreate_AutoPartitioning_Disabled) {

0 commit comments

Comments
 (0)