From c9f8868fbc057021fc0ea3ff0364c544cc4f317b Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Wed, 4 Sep 2024 11:57:49 +0000 Subject: [PATCH 01/11] add feature flag: enable olap compression --- ydb/core/kqp/ut/olap/sys_view_ut.cpp | 10 ++++++---- ydb/core/protos/feature_flags.proto | 1 + ydb/core/testlib/basics/feature_flags.h | 19 ++++++++++--------- .../tx/schemeshard/olap/columns/update.cpp | 5 +++++ 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/ydb/core/kqp/ut/olap/sys_view_ut.cpp b/ydb/core/kqp/ut/olap/sys_view_ut.cpp index 27820452542e..4891366b93df 100644 --- a/ydb/core/kqp/ut/olap/sys_view_ut.cpp +++ b/ydb/core/kqp/ut/olap/sys_view_ut.cpp @@ -131,8 +131,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { const ui32 rowsCount = 800000; const ui32 groupsCount = 512; { - auto settings = TKikimrSettings() - .SetWithSampleTables(false); + NKikimrConfig::TFeatureFlags featureFlags; + featureFlags.SetEnableCompression(true); + auto settings = TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); @@ -186,8 +187,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytesPK1; ui64 bytesPK1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - auto settings = TKikimrSettings() - .SetWithSampleTables(false); + NKikimrConfig::TFeatureFlags featureFlags; + featureFlags.SetEnableCompression(true); + auto settings = TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("", kikimr, "olapTable", "olapStore"); diff --git a/ydb/core/protos/feature_flags.proto b/ydb/core/protos/feature_flags.proto index aa7c2296efaf..29816cb51860 100644 --- a/ydb/core/protos/feature_flags.proto +++ b/ydb/core/protos/feature_flags.proto @@ -158,4 +158,5 @@ message TFeatureFlags { optional bool EnablePgSyntax = 139 [default = true]; optional bool EnableTieringInColumnShard = 140 [default = false]; optional bool EnableMetadataObjectsOnServerless = 141 [default = true]; + optional bool EnableOlapCompression = 142 [default = false]; } diff --git a/ydb/core/testlib/basics/feature_flags.h b/ydb/core/testlib/basics/feature_flags.h index 5a310526f4bd..c34d8c56e333 100644 --- a/ydb/core/testlib/basics/feature_flags.h +++ b/ydb/core/testlib/basics/feature_flags.h @@ -9,13 +9,13 @@ class TTestFeatureFlagsHolder { public: TFeatureFlags FeatureFlags; - #define FEATURE_FLAG_SETTER(name) \ - TDerived& Set##name(std::optional value) { \ - if (value) { \ - FeatureFlags.Set##name(*value); \ - } \ - return *static_cast(this); \ - } +#define FEATURE_FLAG_SETTER(name) \ + TDerived& Set##name(std::optional value) { \ + if (value) { \ + FeatureFlags.Set##name(*value); \ + } \ + return *static_cast(this); \ + } FEATURE_FLAG_SETTER(AllowYdbRequestsWithoutDatabase) FEATURE_FLAG_SETTER(EnableSystemViews) @@ -67,8 +67,9 @@ class TTestFeatureFlagsHolder { FEATURE_FLAG_SETTER(EnablePgSyntax) FEATURE_FLAG_SETTER(EnableTieringInColumnShard) FEATURE_FLAG_SETTER(EnableMetadataObjectsOnServerless) + FEATURE_FLAG_SETTER(EnableOlapCompression) - #undef FEATURE_FLAG_SETTER +#undef FEATURE_FLAG_SETTER }; -} // NKikimr +} diff --git a/ydb/core/tx/schemeshard/olap/columns/update.cpp b/ydb/core/tx/schemeshard/olap/columns/update.cpp index c66da237c712..b92c24a65b2f 100644 --- a/ydb/core/tx/schemeshard/olap/columns/update.cpp +++ b/ydb/core/tx/schemeshard/olap/columns/update.cpp @@ -271,6 +271,11 @@ namespace NKikimr::NSchemeShard { TSet alterColumnNames; for (auto& columnSchemaDiff : alterRequest.GetAlterColumns()) { + if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression() && columnSchemaDiff.HasSerializer()) { + errors.AddError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); + return false; + } + TOlapColumnDiff columnDiff; if (!columnDiff.ParseFromRequest(columnSchemaDiff, errors)) { return false; From 18542e4abc5d8eed0d486c6ddacdd152aa52e877 Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Wed, 4 Sep 2024 12:08:11 +0000 Subject: [PATCH 02/11] fix test --- ydb/core/kqp/ut/olap/sys_view_ut.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ydb/core/kqp/ut/olap/sys_view_ut.cpp b/ydb/core/kqp/ut/olap/sys_view_ut.cpp index 4891366b93df..5896b49aeb97 100644 --- a/ydb/core/kqp/ut/olap/sys_view_ut.cpp +++ b/ydb/core/kqp/ut/olap/sys_view_ut.cpp @@ -132,7 +132,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { const ui32 groupsCount = 512; { NKikimrConfig::TFeatureFlags featureFlags; - featureFlags.SetEnableCompression(true); + featureFlags.SetEnableOlapCompression(true); auto settings = TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); @@ -188,7 +188,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 bytesPK1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); NKikimrConfig::TFeatureFlags featureFlags; - featureFlags.SetEnableCompression(true); + featureFlags.SetEnableOlapCompression(true); auto settings = TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); From 113fb2384048f25e99d6119267ca6eaa78eb02ab Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Wed, 4 Sep 2024 13:40:20 +0000 Subject: [PATCH 03/11] check moved above --- ydb/core/tx/schemeshard/olap/columns/update.cpp | 5 ----- .../tx/schemeshard/olap/operations/alter_store.cpp | 11 +++++++++++ .../tx/schemeshard/olap/operations/alter_table.cpp | 9 +++++++++ 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/ydb/core/tx/schemeshard/olap/columns/update.cpp b/ydb/core/tx/schemeshard/olap/columns/update.cpp index b92c24a65b2f..c66da237c712 100644 --- a/ydb/core/tx/schemeshard/olap/columns/update.cpp +++ b/ydb/core/tx/schemeshard/olap/columns/update.cpp @@ -271,11 +271,6 @@ namespace NKikimr::NSchemeShard { TSet alterColumnNames; for (auto& columnSchemaDiff : alterRequest.GetAlterColumns()) { - if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression() && columnSchemaDiff.HasSerializer()) { - errors.AddError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); - return false; - } - TOlapColumnDiff columnDiff; if (!columnDiff.ParseFromRequest(columnSchemaDiff, errors)) { return false; diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp index ef9737cb07c3..11e5dd321724 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp @@ -455,6 +455,17 @@ class TAlterOlapStore: public TSubOperation { auto result = MakeHolder(NKikimrScheme::StatusAccepted, ui64(OperationId.GetTxId()), ui64(ssId)); + if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression()) { + for (const auto& alterSchema : alter.GetAlterSchemaPresets()) { + for (const auto& alterColumn : alterSchema.GetAlterSchema().GetAlterColumns()) { + if (alterColumn.HasSerializer()) { + result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); + return result; + } + } + } + } + if (!alter.HasName()) { result->SetError(NKikimrScheme::StatusInvalidParameter, "No store name in Alter"); return result; diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp index 4fb76b4a75a0..8b2a50d0629a 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp @@ -270,6 +270,15 @@ class TAlterColumnTable: public TSubOperation { result->SetError(NKikimrScheme::StatusPreconditionFailed, "Alter sharding is disabled for OLAP tables"); return result; } + + if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression()) { + for (const auto& alterColumn : Transaction.GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { + if (alterColumn.HasSerializer()) { + result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); + return result; + } + } + } const bool hasTiering = Transaction.HasAlterColumnTable() && Transaction.GetAlterColumnTable().HasAlterTtlSettings() && Transaction.GetAlterColumnTable().GetAlterTtlSettings().HasUseTiering(); From 45a001f73075cc997bceee44a2572a53fe605b86 Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Fri, 6 Sep 2024 11:19:53 +0300 Subject: [PATCH 04/11] refactoring --- ydb/core/testlib/basics/feature_flags.h | 18 ++++++------ .../olap/operations/alter_store.cpp | 28 +++++++++++-------- .../olap/operations/alter_table.cpp | 19 ++++++++----- 3 files changed, 38 insertions(+), 27 deletions(-) diff --git a/ydb/core/testlib/basics/feature_flags.h b/ydb/core/testlib/basics/feature_flags.h index c34d8c56e333..81ab757e54f5 100644 --- a/ydb/core/testlib/basics/feature_flags.h +++ b/ydb/core/testlib/basics/feature_flags.h @@ -9,13 +9,13 @@ class TTestFeatureFlagsHolder { public: TFeatureFlags FeatureFlags; -#define FEATURE_FLAG_SETTER(name) \ - TDerived& Set##name(std::optional value) { \ - if (value) { \ - FeatureFlags.Set##name(*value); \ - } \ - return *static_cast(this); \ - } + #define FEATURE_FLAG_SETTER(name) \ + TDerived& Set##name(std::optional value) { \ + if (value) { \ + FeatureFlags.Set##name(*value); \ + } \ + return *static_cast(this); \ + } FEATURE_FLAG_SETTER(AllowYdbRequestsWithoutDatabase) FEATURE_FLAG_SETTER(EnableSystemViews) @@ -69,7 +69,7 @@ class TTestFeatureFlagsHolder { FEATURE_FLAG_SETTER(EnableMetadataObjectsOnServerless) FEATURE_FLAG_SETTER(EnableOlapCompression) -#undef FEATURE_FLAG_SETTER + #undef FEATURE_FLAG_SETTER }; -} +} // NKikimr diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp index 11e5dd321724..2485724e3fa6 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp @@ -436,6 +436,18 @@ class TAlterOlapStore: public TSubOperation { } } + bool isAlterCompression() const { + const auto& alter = Transaction.GetAlterColumnStore(); + for (const auto& alterSchema : alter.GetAlterSchemaPresets()) { + for (const auto& alterColumn : alterSchema.GetAlterSchema().GetAlterColumns()) { + if (alterColumn.HasSerializer()) { + return true; + } + } + } + return false; + } + public: using TSubOperation::TSubOperation; @@ -455,22 +467,16 @@ class TAlterOlapStore: public TSubOperation { auto result = MakeHolder(NKikimrScheme::StatusAccepted, ui64(OperationId.GetTxId()), ui64(ssId)); - if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression()) { - for (const auto& alterSchema : alter.GetAlterSchemaPresets()) { - for (const auto& alterColumn : alterSchema.GetAlterSchema().GetAlterColumns()) { - if (alterColumn.HasSerializer()) { - result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); - return result; - } - } - } - } - if (!alter.HasName()) { result->SetError(NKikimrScheme::StatusInvalidParameter, "No store name in Alter"); return result; } + if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) { + result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); + return result; + } + TPath parentPath = TPath::Resolve(parentPathStr, context.SS); TPath path = parentPath.Dive(name); { diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp index 8b2a50d0629a..ec17bd04c5de 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp @@ -257,6 +257,15 @@ class TAlterColumnTable: public TSubOperation { } } + bool isAlterCompression() const { + for (const auto& alterColumn : Transaction.GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { + if (alterColumn.HasSerializer()) { + return true; + } + } + return false; + } + public: using TSubOperation::TSubOperation; @@ -271,13 +280,9 @@ class TAlterColumnTable: public TSubOperation { return result; } - if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression()) { - for (const auto& alterColumn : Transaction.GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { - if (alterColumn.HasSerializer()) { - result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); - return result; - } - } + if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) { + result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); + return result; } const bool hasTiering = Transaction.HasAlterColumnTable() && Transaction.GetAlterColumnTable().HasAlterTtlSettings() && From 92fd22c1fe1dd2fd2f8664247cc2aa1e3a66cd61 Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Mon, 9 Sep 2024 11:07:15 +0300 Subject: [PATCH 05/11] refactoring --- ydb/core/kqp/ut/common/columnshard.cpp | 4 ++ ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp | 1 + ydb/core/kqp/ut/olap/sys_view_ut.cpp | 50 +++++++------------ .../olap/operations/alter/abstract/update.h | 13 +++++ .../olap/operations/alter_table.cpp | 14 ------ 5 files changed, 36 insertions(+), 46 deletions(-) diff --git a/ydb/core/kqp/ut/common/columnshard.cpp b/ydb/core/kqp/ut/common/columnshard.cpp index 955e260b5985..405ae7bba287 100644 --- a/ydb/core/kqp/ut/common/columnshard.cpp +++ b/ydb/core/kqp/ut/common/columnshard.cpp @@ -37,6 +37,10 @@ namespace NKqp { kikimrSettings.SetEnableTieringInColumnShard(true); } + if (!kikimrSettings.FeatureFlags.HasEnableOlapCompression()) { + kikimrSettings.SetEnableOlapCompression(true); + } + Kikimr = std::make_unique(kikimrSettings); TableClient = std::make_unique(Kikimr->GetTableClient()); Session = std::make_unique(TableClient->CreateSession().GetValueSync().GetSession()); diff --git a/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp b/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp index ea97c44484f3..e97c874a7366 100644 --- a/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp +++ b/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp @@ -69,6 +69,7 @@ Y_UNIT_TEST_SUITE(KqpOlapBlobsSharing) { TKikimrSettings GetKikimrSettings() { NKikimrConfig::TFeatureFlags featureFlags; featureFlags.SetEnableAlterShardingInColumnShard(true); + featureFlags.SetEnableOlapCompression(true); return TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); } diff --git a/ydb/core/kqp/ut/olap/sys_view_ut.cpp b/ydb/core/kqp/ut/olap/sys_view_ut.cpp index 5896b49aeb97..78c42136dd8b 100644 --- a/ydb/core/kqp/ut/olap/sys_view_ut.cpp +++ b/ydb/core/kqp/ut/olap/sys_view_ut.cpp @@ -12,10 +12,14 @@ namespace NKikimr::NKqp { Y_UNIT_TEST_SUITE(KqpOlapSysView) { + TKikimrSettings GetKikimrSettings() { + NKikimrConfig::TFeatureFlags featureFlags; + featureFlags.SetEnableOlapCompression(true); + return TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); + } + Y_UNIT_TEST(StatsSysView) { - auto settings = TKikimrSettings() - .SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr).CreateTestOlapTable(); @@ -50,9 +54,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewTable) { - auto settings = TKikimrSettings() - .SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr).CreateTestOlapTable("olapTable_1"); @@ -112,9 +114,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 bytesPK1; { auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - auto settings = TKikimrSettings() - .SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("", kikimr, "olapTable", "olapStore12"); helper.CreateTestOlapTable(); @@ -131,10 +131,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { const ui32 rowsCount = 800000; const ui32 groupsCount = 512; { - NKikimrConfig::TFeatureFlags featureFlags; - featureFlags.SetEnableOlapCompression(true); - auto settings = TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -187,10 +184,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytesPK1; ui64 bytesPK1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - NKikimrConfig::TFeatureFlags featureFlags; - featureFlags.SetEnableOlapCompression(true); - auto settings = TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("", kikimr, "olapTable", "olapStore"); helper.CreateTestOlapTable(); @@ -225,8 +219,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytes1; ui64 bytes1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - auto settings = TKikimrSettings().SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -256,9 +249,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytes1; ui64 bytes1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - auto settings = TKikimrSettings() - .SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -294,8 +285,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytes1; ui64 bytes1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - auto settings = TKikimrSettings().SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -366,9 +356,8 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewColumns) { - auto settings = TKikimrSettings().SetWithSampleTables(false); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable(); for (ui64 i = 0; i < 10; ++i) { @@ -422,8 +411,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewRanges) { - auto settings = TKikimrSettings().SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); csController->SetCompactionControl(NYDBTest::EOptimizerCompactionWeightControl::Disable); Tests::NCommon::TLoggerInit(kikimr).Initialize(); @@ -515,8 +503,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewFilter) { - auto settings = TKikimrSettings().SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable(); @@ -582,8 +569,7 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewAggregation) { - auto settings = TKikimrSettings().SetWithSampleTables(false); - TKikimrRunner kikimr(settings); + TKikimrRunner kikimr(GetKikimrSettings()); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable("olapTable_1"); diff --git a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h index 61953ec45a25..ece5907c2fce 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h +++ b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h @@ -11,6 +11,16 @@ namespace NKikimr::NSchemeShard::NOlap::NAlter { class ISSEntityUpdate { private: bool Initialized = false; + + bool isAlterCompression(const TUpdateInitializationContext& context) const { + for (const auto& alterColumn : context.GetModification()->GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { + if (alterColumn.HasSerializer()) { + return true; + } + } + return false; + } + protected: virtual TConclusionStatus DoInitialize(const TUpdateInitializationContext& context) = 0; virtual TConclusionStatus DoStart(const TUpdateStartContext& context) = 0; @@ -44,6 +54,9 @@ class ISSEntityUpdate { TConclusionStatus Initialize(const TUpdateInitializationContext& context) { AFL_VERIFY(!Initialized); + if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression(context)) { + return TConclusionStatus::Fail("Compression is disabled for OLAP tables"); + } auto result = DoInitialize(context); if (result.IsSuccess()) { Initialized = true; diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp index ec17bd04c5de..4fb76b4a75a0 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_table.cpp @@ -257,15 +257,6 @@ class TAlterColumnTable: public TSubOperation { } } - bool isAlterCompression() const { - for (const auto& alterColumn : Transaction.GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { - if (alterColumn.HasSerializer()) { - return true; - } - } - return false; - } - public: using TSubOperation::TSubOperation; @@ -279,11 +270,6 @@ class TAlterColumnTable: public TSubOperation { result->SetError(NKikimrScheme::StatusPreconditionFailed, "Alter sharding is disabled for OLAP tables"); return result; } - - if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) { - result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); - return result; - } const bool hasTiering = Transaction.HasAlterColumnTable() && Transaction.GetAlterColumnTable().HasAlterTtlSettings() && Transaction.GetAlterColumnTable().GetAlterTtlSettings().HasUseTiering(); From 09d2eb5277ea92d394bbb440d96a6fcac878f54b Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Tue, 10 Sep 2024 13:36:00 +0300 Subject: [PATCH 06/11] refactoring --- ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h | 2 +- ydb/core/tx/schemeshard/olap/operations/alter_store.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h index ece5907c2fce..b2cf0c9f076a 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h +++ b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h @@ -54,7 +54,7 @@ class ISSEntityUpdate { TConclusionStatus Initialize(const TUpdateInitializationContext& context) { AFL_VERIFY(!Initialized); - if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression(context)) { + if (!AppData()->FeatureFlags.GetEnableOlapCompression() && isAlterCompression(context)) { return TConclusionStatus::Fail("Compression is disabled for OLAP tables"); } auto result = DoInitialize(context); diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp index 2485724e3fa6..d63cfbbc19e3 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp @@ -472,7 +472,7 @@ class TAlterOlapStore: public TSubOperation { return result; } - if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) { + if (!AppData()->FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) { result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); return result; } From 3df7b38cb89ad22ba5475429dc6bb0d1cb6f6c1b Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Tue, 10 Sep 2024 18:40:24 +0300 Subject: [PATCH 07/11] refactoring --- ydb/core/kqp/ut/common/columnshard.cpp | 4 -- ydb/core/kqp/ut/common/kqp_ut_common.cpp | 1 + ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp | 1 - ydb/core/kqp/ut/olap/sys_view_ut.cpp | 50 ++++++++++++++--------- 4 files changed, 32 insertions(+), 24 deletions(-) diff --git a/ydb/core/kqp/ut/common/columnshard.cpp b/ydb/core/kqp/ut/common/columnshard.cpp index 405ae7bba287..955e260b5985 100644 --- a/ydb/core/kqp/ut/common/columnshard.cpp +++ b/ydb/core/kqp/ut/common/columnshard.cpp @@ -37,10 +37,6 @@ namespace NKqp { kikimrSettings.SetEnableTieringInColumnShard(true); } - if (!kikimrSettings.FeatureFlags.HasEnableOlapCompression()) { - kikimrSettings.SetEnableOlapCompression(true); - } - Kikimr = std::make_unique(kikimrSettings); TableClient = std::make_unique(Kikimr->GetTableClient()); Session = std::make_unique(TableClient->CreateSession().GetValueSync().GetSession()); diff --git a/ydb/core/kqp/ut/common/kqp_ut_common.cpp b/ydb/core/kqp/ut/common/kqp_ut_common.cpp index 8f21490f7db7..a6a965850e56 100644 --- a/ydb/core/kqp/ut/common/kqp_ut_common.cpp +++ b/ydb/core/kqp/ut/common/kqp_ut_common.cpp @@ -133,6 +133,7 @@ TKikimrRunner::TKikimrRunner(const TKikimrSettings& settings) { ServerSettings->SetUseRealThreads(settings.UseRealThreads); ServerSettings->SetEnableTablePgTypes(true); ServerSettings->SetEnablePgSyntax(true); + ServerSettings->SetEnableOlapCompression(true); ServerSettings->S3ActorsFactory = settings.S3ActorsFactory; if (settings.Storage) { diff --git a/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp b/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp index e97c874a7366..ea97c44484f3 100644 --- a/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp +++ b/ydb/core/kqp/ut/olap/blobs_sharing_ut.cpp @@ -69,7 +69,6 @@ Y_UNIT_TEST_SUITE(KqpOlapBlobsSharing) { TKikimrSettings GetKikimrSettings() { NKikimrConfig::TFeatureFlags featureFlags; featureFlags.SetEnableAlterShardingInColumnShard(true); - featureFlags.SetEnableOlapCompression(true); return TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); } diff --git a/ydb/core/kqp/ut/olap/sys_view_ut.cpp b/ydb/core/kqp/ut/olap/sys_view_ut.cpp index 78c42136dd8b..46bcd52a8ecc 100644 --- a/ydb/core/kqp/ut/olap/sys_view_ut.cpp +++ b/ydb/core/kqp/ut/olap/sys_view_ut.cpp @@ -12,14 +12,10 @@ namespace NKikimr::NKqp { Y_UNIT_TEST_SUITE(KqpOlapSysView) { - TKikimrSettings GetKikimrSettings() { - NKikimrConfig::TFeatureFlags featureFlags; - featureFlags.SetEnableOlapCompression(true); - return TKikimrSettings().SetWithSampleTables(false).SetFeatureFlags(featureFlags); - } - Y_UNIT_TEST(StatsSysView) { - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings() + .SetWithSampleTables(false); + TKikimrRunner kikimr(settings); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr).CreateTestOlapTable(); @@ -54,7 +50,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewTable) { - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings() + .SetWithSampleTables(false); + TKikimrRunner kikimr(settings); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr).CreateTestOlapTable("olapTable_1"); @@ -114,7 +112,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 bytesPK1; { auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings() + .SetWithSampleTables(false); + TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("", kikimr, "olapTable", "olapStore12"); helper.CreateTestOlapTable(); @@ -131,7 +131,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { const ui32 rowsCount = 800000; const ui32 groupsCount = 512; { - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings() + .SetWithSampleTables(false); + TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -184,7 +186,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytesPK1; ui64 bytesPK1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings() + .SetWithSampleTables(false); + TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("", kikimr, "olapTable", "olapStore"); helper.CreateTestOlapTable(); @@ -219,7 +223,8 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytes1; ui64 bytes1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings().SetWithSampleTables(false); + TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -249,7 +254,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytes1; ui64 bytes1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings() + .SetWithSampleTables(false); + TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -285,7 +292,8 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { ui64 rawBytes1; ui64 bytes1; auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings().SetWithSampleTables(false); + TKikimrRunner kikimr(settings); Tests::NCommon::TLoggerInit(kikimr).Initialize(); TTypedLocalHelper helper("Utf8", kikimr); helper.CreateTestOlapTable(); @@ -356,8 +364,9 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewColumns) { + auto settings = TKikimrSettings().SetWithSampleTables(false); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); - TKikimrRunner kikimr(GetKikimrSettings()); + TKikimrRunner kikimr(settings); TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable(); for (ui64 i = 0; i < 10; ++i) { @@ -411,7 +420,8 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewRanges) { - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings().SetWithSampleTables(false); + TKikimrRunner kikimr(settings); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); csController->SetCompactionControl(NYDBTest::EOptimizerCompactionWeightControl::Disable); Tests::NCommon::TLoggerInit(kikimr).Initialize(); @@ -503,7 +513,8 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewFilter) { - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings().SetWithSampleTables(false); + TKikimrRunner kikimr(settings); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable(); @@ -569,7 +580,8 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } Y_UNIT_TEST(StatsSysViewAggregation) { - TKikimrRunner kikimr(GetKikimrSettings()); + auto settings = TKikimrSettings().SetWithSampleTables(false); + TKikimrRunner kikimr(settings); auto csController = NYDBTest::TControllers::RegisterCSControllerGuard(); TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable("olapTable_1"); @@ -728,4 +740,4 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } } -} // namespace +} // namespace \ No newline at end of file From ae292664ec03d968bb5a97f8dd9bcd4da73776ed Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Tue, 10 Sep 2024 18:41:59 +0300 Subject: [PATCH 08/11] refactoring --- ydb/core/kqp/ut/olap/sys_view_ut.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ydb/core/kqp/ut/olap/sys_view_ut.cpp b/ydb/core/kqp/ut/olap/sys_view_ut.cpp index 46bcd52a8ecc..27820452542e 100644 --- a/ydb/core/kqp/ut/olap/sys_view_ut.cpp +++ b/ydb/core/kqp/ut/olap/sys_view_ut.cpp @@ -740,4 +740,4 @@ Y_UNIT_TEST_SUITE(KqpOlapSysView) { } } -} // namespace \ No newline at end of file +} // namespace From 762507f514806c31f915ab315f2154de15d20ec6 Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Tue, 10 Sep 2024 18:59:52 +0300 Subject: [PATCH 09/11] fix style guide --- .../tx/schemeshard/olap/operations/alter/abstract/update.h | 4 ++-- ydb/core/tx/schemeshard/olap/operations/alter_store.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h index b2cf0c9f076a..08ca79b1abbb 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h +++ b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h @@ -12,7 +12,7 @@ class ISSEntityUpdate { private: bool Initialized = false; - bool isAlterCompression(const TUpdateInitializationContext& context) const { + bool IsAlterCompression(const TUpdateInitializationContext& context) const { for (const auto& alterColumn : context.GetModification()->GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { if (alterColumn.HasSerializer()) { return true; @@ -54,7 +54,7 @@ class ISSEntityUpdate { TConclusionStatus Initialize(const TUpdateInitializationContext& context) { AFL_VERIFY(!Initialized); - if (!AppData()->FeatureFlags.GetEnableOlapCompression() && isAlterCompression(context)) { + if (!AppData()->FeatureFlags.GetEnableOlapCompression() && IsAlterCompression(context)) { return TConclusionStatus::Fail("Compression is disabled for OLAP tables"); } auto result = DoInitialize(context); diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp index d63cfbbc19e3..4c879a5c51d5 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp @@ -436,7 +436,7 @@ class TAlterOlapStore: public TSubOperation { } } - bool isAlterCompression() const { + bool IsAlterCompression() const { const auto& alter = Transaction.GetAlterColumnStore(); for (const auto& alterSchema : alter.GetAlterSchemaPresets()) { for (const auto& alterColumn : alterSchema.GetAlterSchema().GetAlterColumns()) { @@ -472,7 +472,7 @@ class TAlterOlapStore: public TSubOperation { return result; } - if (!AppData()->FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) { + if (!AppData()->FeatureFlags.GetEnableOlapCompression() && IsAlterCompression()) { result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables"); return result; } From a49bc79013428d733113a726915e5f642f6df753 Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Tue, 10 Sep 2024 19:57:11 +0300 Subject: [PATCH 10/11] fix formating and move check --- .../olap/operations/alter/abstract/update.h | 12 ------------ .../olap/operations/alter/common/update.h | 13 +++++++++++++ .../tx/schemeshard/olap/operations/alter_store.cpp | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h index 08ca79b1abbb..cae714f431cd 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h +++ b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h @@ -12,15 +12,6 @@ class ISSEntityUpdate { private: bool Initialized = false; - bool IsAlterCompression(const TUpdateInitializationContext& context) const { - for (const auto& alterColumn : context.GetModification()->GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { - if (alterColumn.HasSerializer()) { - return true; - } - } - return false; - } - protected: virtual TConclusionStatus DoInitialize(const TUpdateInitializationContext& context) = 0; virtual TConclusionStatus DoStart(const TUpdateStartContext& context) = 0; @@ -54,9 +45,6 @@ class ISSEntityUpdate { TConclusionStatus Initialize(const TUpdateInitializationContext& context) { AFL_VERIFY(!Initialized); - if (!AppData()->FeatureFlags.GetEnableOlapCompression() && IsAlterCompression(context)) { - return TConclusionStatus::Fail("Compression is disabled for OLAP tables"); - } auto result = DoInitialize(context); if (result.IsSuccess()) { Initialized = true; diff --git a/ydb/core/tx/schemeshard/olap/operations/alter/common/update.h b/ydb/core/tx/schemeshard/olap/operations/alter/common/update.h index c33f18eb031b..8375e6fa0e4f 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter/common/update.h +++ b/ydb/core/tx/schemeshard/olap/operations/alter/common/update.h @@ -19,6 +19,16 @@ class TColumnTableUpdate: public ISSEntityUpdate { return NKikimrTxColumnShard::ETransactionKind::TX_KIND_SCHEMA; } virtual TConclusionStatus DoInitializeImpl(const TUpdateInitializationContext& context) = 0; + + bool IsAlterCompression(const TUpdateInitializationContext& context) const { + for (const auto& alterColumn : context.GetModification()->GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) { + if (alterColumn.HasSerializer()) { + return true; + } + } + return false; + } + protected: virtual TConclusionStatus DoStartImpl(const TUpdateStartContext& /*context*/) { return TConclusionStatus::Success(); @@ -27,6 +37,9 @@ class TColumnTableUpdate: public ISSEntityUpdate { return TConclusionStatus::Success(); } virtual TConclusionStatus DoInitialize(const TUpdateInitializationContext& context) override final { + if (!AppData()->FeatureFlags.GetEnableOlapCompression() && IsAlterCompression(context)) { + return TConclusionStatus::Fail("Compression is disabled for OLAP tables"); + } if (!context.GetModification()->HasAlterColumnTable() && !context.GetModification()->HasAlterTable()) { return TConclusionStatus::Fail("no update data"); } diff --git a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp index 4c879a5c51d5..d61f84b81209 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp +++ b/ydb/core/tx/schemeshard/olap/operations/alter_store.cpp @@ -441,7 +441,7 @@ class TAlterOlapStore: public TSubOperation { for (const auto& alterSchema : alter.GetAlterSchemaPresets()) { for (const auto& alterColumn : alterSchema.GetAlterSchema().GetAlterColumns()) { if (alterColumn.HasSerializer()) { - return true; + return true; } } } From 47998e1a1bc443e3b16b51d79cb18118678b7bc6 Mon Sep 17 00:00:00 2001 From: vlad-gogov Date: Tue, 10 Sep 2024 20:00:06 +0300 Subject: [PATCH 11/11] fix --- ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h | 1 - 1 file changed, 1 deletion(-) diff --git a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h index cae714f431cd..61953ec45a25 100644 --- a/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h +++ b/ydb/core/tx/schemeshard/olap/operations/alter/abstract/update.h @@ -11,7 +11,6 @@ namespace NKikimr::NSchemeShard::NOlap::NAlter { class ISSEntityUpdate { private: bool Initialized = false; - protected: virtual TConclusionStatus DoInitialize(const TUpdateInitializationContext& context) = 0; virtual TConclusionStatus DoStart(const TUpdateStartContext& context) = 0;