Skip to content

Commit 178f147

Browse files
authored
Disallow disabling of topic autopartitioning (#8871)
1 parent 8d1c399 commit 178f147

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
@@ -723,29 +723,7 @@ Y_UNIT_TEST_SUITE(TopicAutoscaling) {
723723
f.Wait();
724724

725725
auto v = f.GetValueSync();
726-
UNIT_ASSERT_C(!v.IsSuccess(), "Must receve error becuse max-partition is not 0");
727-
}
728-
729-
{
730-
TAlterTopicSettings alterSettings;
731-
alterSettings
732-
.BeginAlterPartitioningSettings()
733-
.MaxActivePartitions(0)
734-
.BeginAlterAutoPartitioningSettings()
735-
.Strategy(EAutoPartitioningStrategy::Disabled)
736-
.EndAlterAutoPartitioningSettings()
737-
.EndAlterTopicPartitioningSettings();
738-
auto f = client.AlterTopic(topicName, alterSettings);
739-
f.Wait();
740-
741-
auto v = f.GetValueSync();
742-
UNIT_ASSERT_C(v.IsSuccess(), "Error: " << v);
743-
}
744-
745-
{
746-
auto describeAfterAlter = client.DescribeTopic(topicName).GetValueSync();
747-
748-
UNIT_ASSERT_VALUES_EQUAL(describeAfterAlter.GetTopicDescription().GetPartitioningSettings().GetAutoPartitioningSettings().GetStrategy(), EAutoPartitioningStrategy::Disabled);
726+
UNIT_ASSERT_C(!v.IsSuccess(), "Must receve error becuse disabling is not supported");
749727
}
750728
}
751729

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

696673
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
}

0 commit comments

Comments
 (0)