aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2023-10-23 11:29:28 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2023-10-23 11:54:19 +0300
commita1e69eeebcd7f2be7c421e9f450d877f7660bc7a (patch)
treeb42e0d1b2d1814bed52c7cee1b8a3514a857d890
parentc17de4eb2989b79e66589429b87b05d2c2e669da (diff)
downloadydb-a1e69eeebcd7f2be7c421e9f450d877f7660bc7a.tar.gz
KIKIMR-19788: use period for guarantee indexation start
-rw-r--r--ydb/core/kqp/ut/olap/kqp_olap_ut.cpp28
-rw-r--r--ydb/core/tx/columnshard/columnshard_impl.cpp6
-rw-r--r--ydb/core/tx/columnshard/columnshard_impl.h2
-rw-r--r--ydb/core/tx/columnshard/engines/storage/optimizer/lbuckets/optimizer.h14
-rw-r--r--ydb/core/tx/columnshard/hooks/abstract/abstract.h10
-rw-r--r--ydb/core/tx/columnshard/hooks/testing/controller.h12
-rw-r--r--ydb/core/tx/columnshard/ut_rw/CMakeLists.darwin-x86_64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-aarch64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-x86_64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_rw/CMakeLists.windows-x86_64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp9
-rw-r--r--ydb/core/tx/columnshard/ut_rw/ya.make2
-rw-r--r--ydb/core/tx/columnshard/ut_schema/CMakeLists.darwin-x86_64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-aarch64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-x86_64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_schema/CMakeLists.windows-x86_64.txt2
-rw-r--r--ydb/core/tx/columnshard/ut_schema/ut_columnshard_schema.cpp3
-rw-r--r--ydb/core/tx/columnshard/ut_schema/ya.make2
18 files changed, 83 insertions, 21 deletions
diff --git a/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp b/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp
index 20ae3558d8..d5d788505a 100644
--- a/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp
+++ b/ydb/core/kqp/ut/olap/kqp_olap_ut.cpp
@@ -1,6 +1,5 @@
#include <ydb/core/kqp/ut/common/kqp_ut_common.h>
#include <ydb/public/sdk/cpp/client/draft/ydb_long_tx.h>
-#include <ydb/public/sdk/cpp/client/ydb_query/client.h>
#include <ydb/core/sys_view/service/query_history.h>
#include <ydb/core/tx/columnshard/columnshard_ut_common.h>
@@ -267,7 +266,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
};
TDistribution GetDistribution(const bool verbose = false) {
- const TString selectQuery = "SELECT COUNT(*) as c, field FROM `" + TablePath + "` GROUP BY field ORDER BY field";
+ const TString selectQuery = "PRAGMA Kikimr.OptUseFinalizeByKey='true';SELECT COUNT(*) as c, field FROM `" + TablePath + "` GROUP BY field ORDER BY field";
auto tableClient = KikimrRunner.GetTableClient();
auto rows = ExecuteScanQuery(tableClient, selectQuery, verbose);
@@ -1342,8 +1341,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
}
Y_UNIT_TEST(CheckEarlyFilterOnEmptySelect) {
- auto settings = TKikimrSettings()
- .SetWithSampleTables(false);
+ auto settings = TKikimrSettings().SetWithSampleTables(false);
TKikimrRunner kikimr(settings);
TLocalHelper(kikimr).CreateTestOlapTable();
@@ -1882,6 +1880,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
{
TString query = R"(
--!syntax_v1
+ PRAGMA Kikimr.OptUseFinalizeByKey;
SELECT
level, COUNT(level)
FROM `/Root/olapStore/olapTable`
@@ -2119,6 +2118,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
if (!Pushdown) {
queryFixed << "PRAGMA Kikimr.OptEnableOlapPushdown = \"false\";" << Endl;
}
+ queryFixed << "PRAGMA Kikimr.OptUseFinalizeByKey;" << Endl;
queryFixed << Query << Endl;
Cerr << "REQUEST:\n" << queryFixed << Endl;
@@ -3295,6 +3295,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
auto settings = TKikimrSettings()
.SetWithSampleTables(false);
TKikimrRunner kikimr(settings);
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
static ui32 numKinds = 5;
TLocalHelper(kikimr).CreateTestOlapTable();
@@ -3336,6 +3337,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
auto settings = TKikimrSettings()
.SetWithSampleTables(false);
TKikimrRunner kikimr(settings);
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
static ui32 numKinds = 5;
TLocalHelper(kikimr).CreateTestOlapTable("olapTable_1");
@@ -3396,6 +3398,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
Y_UNIT_TEST(StatsSysViewEnumStringBytes) {
ui64 rawBytesPK1;
ui64 bytesPK1;
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
{
auto settings = TKikimrSettings()
.SetWithSampleTables(false);
@@ -3704,6 +3707,7 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
.SetNodeCount(2);
Tests::TServer::TPtr server = new Tests::TServer(settings);
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
auto runtime = server->GetRuntime();
auto sender = runtime->AllocateEdgeActor();
@@ -3790,8 +3794,8 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
}
Y_UNIT_TEST(StatsSysViewColumns) {
- auto settings = TKikimrSettings()
- .SetWithSampleTables(false);
+ auto settings = TKikimrSettings().SetWithSampleTables(false);
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
TKikimrRunner kikimr(settings);
static ui32 numKinds = 5;
@@ -3850,9 +3854,9 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
}
Y_UNIT_TEST(StatsSysViewRanges) {
- auto settings = TKikimrSettings()
- .SetWithSampleTables(false);
+ auto settings = TKikimrSettings().SetWithSampleTables(false);
TKikimrRunner kikimr(settings);
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
Tests::NCommon::TLoggerInit(kikimr).Initialize();
static ui32 numKinds = 5;
@@ -3932,9 +3936,9 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
}
Y_UNIT_TEST(StatsSysViewFilter) {
- auto settings = TKikimrSettings()
- .SetWithSampleTables(false);
+ auto settings = TKikimrSettings().SetWithSampleTables(false);
TKikimrRunner kikimr(settings);
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable();
for (ui64 i = 0; i < 10; ++i) {
@@ -3999,9 +4003,9 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
}
Y_UNIT_TEST(StatsSysViewAggregation) {
- auto settings = TKikimrSettings()
- .SetWithSampleTables(false);
+ auto settings = TKikimrSettings().SetWithSampleTables(false);
TKikimrRunner kikimr(settings);
+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
static ui32 numKinds = 5;
TLocalHelper(kikimr.GetTestServer()).CreateTestOlapTable("olapTable_1");
diff --git a/ydb/core/tx/columnshard/columnshard_impl.cpp b/ydb/core/tx/columnshard/columnshard_impl.cpp
index e30f6e32db..3173bebe08 100644
--- a/ydb/core/tx/columnshard/columnshard_impl.cpp
+++ b/ydb/core/tx/columnshard/columnshard_impl.cpp
@@ -769,8 +769,10 @@ void TColumnShard::SetupIndexation() {
if (InsertTable->GetPathPriorities().size() && InsertTable->GetPathPriorities().rbegin()->first.GetCategory() == NOlap::TPathInfoIndexPriority::EIndexationPriority::PreventOverload) {
force = true;
}
- if (!force && InsertTable->GetCountersCommitted().Bytes < TSettings::GuaranteeIndexationStartBytesLimit &&
- TMonotonic::Now() - BackgroundController.GetLastIndexationInstant() < TSettings::GuaranteeIndexationInterval) {
+ const ui64 bytesLimit = NYDBTest::TControllers::GetColumnShardController()->GetGuaranteeIndexationStartBytesLimit(TSettings::GuaranteeIndexationStartBytesLimit);
+ const TDuration durationLimit = NYDBTest::TControllers::GetColumnShardController()->GetGuaranteeIndexationInterval(TSettings::GuaranteeIndexationInterval);
+ if (!force && InsertTable->GetCountersCommitted().Bytes < bytesLimit &&
+ TMonotonic::Now() < BackgroundController.GetLastIndexationInstant() + durationLimit) {
AFL_DEBUG(NKikimrServices::TX_COLUMNSHARD)("event", "skip_indexation")("reason", "not_enough_data_and_too_frequency")
("insert_size", InsertTable->GetCountersCommitted().Bytes);
return;
diff --git a/ydb/core/tx/columnshard/columnshard_impl.h b/ydb/core/tx/columnshard/columnshard_impl.h
index b5156cd838..c683b0a5c2 100644
--- a/ydb/core/tx/columnshard/columnshard_impl.h
+++ b/ydb/core/tx/columnshard/columnshard_impl.h
@@ -67,7 +67,7 @@ struct TSettings {
static constexpr ui32 MAX_ACTIVE_COMPACTIONS = 1;
static constexpr ui32 MAX_INDEXATIONS_TO_SKIP = 16;
- static constexpr TDuration GuaranteeIndexationInterval = TDuration::Seconds(0);
+ static constexpr TDuration GuaranteeIndexationInterval = TDuration::Seconds(10);
static constexpr i64 GuaranteeIndexationStartBytesLimit = (i64)5 * 1024 * 1024 * 1024;
TControlWrapper BlobWriteGrouppingEnabled;
diff --git a/ydb/core/tx/columnshard/engines/storage/optimizer/lbuckets/optimizer.h b/ydb/core/tx/columnshard/engines/storage/optimizer/lbuckets/optimizer.h
index 57d7df3dae..330a426a53 100644
--- a/ydb/core/tx/columnshard/engines/storage/optimizer/lbuckets/optimizer.h
+++ b/ydb/core/tx/columnshard/engines/storage/optimizer/lbuckets/optimizer.h
@@ -6,6 +6,7 @@
#include <ydb/core/tx/columnshard/engines/portions/portion_info.h>
#include <ydb/core/tx/columnshard/blobs_action/abstract/storages_manager.h>
#include <ydb/core/tx/columnshard/engines/changes/general_compaction.h>
+#include <ydb/core/tx/columnshard/hooks/abstract/abstract.h>
#include <ydb/library/accessor/accessor.h>
#include <util/generic/hash.h>
@@ -15,7 +16,12 @@
namespace NKikimr::NOlap::NStorageOptimizer::NBuckets {
static const ui64 SmallPortionDetectSizeLimit = 1 << 20;
-static const TDuration CommonFreshnessCheckDuration = TDuration::Seconds(300);
+
+TDuration GetCommonFreshnessCheckDuration() {
+ static const TDuration CommonFreshnessCheckDuration = TDuration::Seconds(300);
+ return NYDBTest::TControllers::GetColumnShardController()->GetOptimizerFreshnessCheckDuration(CommonFreshnessCheckDuration);
+}
+
class TSimplePortionsGroupInfo {
private:
YDB_READONLY(i64, Bytes, 0);
@@ -77,7 +83,7 @@ private:
std::map<TInstant, THashMap<ui64, std::shared_ptr<TPortionInfo>>> Futures;
TSimplePortionsGroupInfo BucketInfo;
std::shared_ptr<TCounters> Counters;
- const TDuration FutureDetector = CommonFreshnessCheckDuration;
+ const TDuration FutureDetector;
bool AddActual(const std::shared_ptr<TPortionInfo>& portion) {
if (Actuals.emplace(portion->GetPortionId(), portion).second) {
BucketInfo.AddPortion(portion);
@@ -604,7 +610,7 @@ public:
TPortionsBucket(const std::shared_ptr<TPortionInfo>& portion, const std::shared_ptr<TCounters>& counters)
: MainPortion(portion)
, Counters(counters)
- , Others(Counters, CommonFreshnessCheckDuration)
+ , Others(Counters, GetCommonFreshnessCheckDuration())
{
if (MainPortion) {
Counters->PortionsAlone->AddPortion(MainPortion);
@@ -951,7 +957,7 @@ public:
} else {
if (itFrom == Buckets.end()) {
const TDuration freshness = now - TInstant::MilliSeconds(portion->RecordSnapshotMax().GetPlanStep());
- if (freshness < CommonFreshnessCheckDuration) {
+ if (freshness < GetCommonFreshnessCheckDuration()) {
AddOther(portion, now);
return;
}
diff --git a/ydb/core/tx/columnshard/hooks/abstract/abstract.h b/ydb/core/tx/columnshard/hooks/abstract/abstract.h
index 66ea399129..093ccd3031 100644
--- a/ydb/core/tx/columnshard/hooks/abstract/abstract.h
+++ b/ydb/core/tx/columnshard/hooks/abstract/abstract.h
@@ -67,6 +67,16 @@ public:
virtual TDuration GetTTLDefaultWaitingDuration(const TDuration defaultValue) const {
return defaultValue;
}
+ virtual TDuration GetGuaranteeIndexationInterval(const TDuration defaultValue) const {
+ return defaultValue;
+ }
+ virtual ui64 GetGuaranteeIndexationStartBytesLimit(const ui64 defaultValue) const {
+ return defaultValue;
+ }
+ virtual TDuration GetOptimizerFreshnessCheckDuration(const TDuration defaultValue) const {
+ return defaultValue;
+ }
+
virtual void OnTieringModified(const std::shared_ptr<NColumnShard::TTiersManager>& /*tiers*/) {
}
diff --git a/ydb/core/tx/columnshard/hooks/testing/controller.h b/ydb/core/tx/columnshard/hooks/testing/controller.h
index 06861e4643..41585f2bb6 100644
--- a/ydb/core/tx/columnshard/hooks/testing/controller.h
+++ b/ydb/core/tx/columnshard/hooks/testing/controller.h
@@ -7,9 +7,21 @@ class TController: public ICSController {
private:
YDB_READONLY(TAtomicCounter, FilteredRecordsCount, 0);
YDB_READONLY(TAtomicCounter, Compactions, 0);
+ YDB_ACCESSOR(std::optional<TDuration>, GuaranteeIndexationInterval, TDuration::Zero());
+ YDB_ACCESSOR(std::optional<ui64>, GuaranteeIndexationStartBytesLimit, 0);
+ YDB_ACCESSOR(std::optional<TDuration>, OptimizerFreshnessCheckDuration, TDuration::Zero());
protected:
virtual bool DoOnAfterFilterAssembling(const std::shared_ptr<arrow::RecordBatch>& batch) override;
virtual bool DoOnStartCompaction(std::shared_ptr<NOlap::TColumnEngineChanges>& changes) override;
+ virtual TDuration GetGuaranteeIndexationInterval(const TDuration defaultValue) const override {
+ return GuaranteeIndexationInterval.value_or(defaultValue);
+ }
+ virtual ui64 GetGuaranteeIndexationStartBytesLimit(const ui64 defaultValue) const override {
+ return GuaranteeIndexationStartBytesLimit.value_or(defaultValue);
+ }
+ virtual TDuration GetOptimizerFreshnessCheckDuration(const TDuration defaultValue) const override {
+ return OptimizerFreshnessCheckDuration.value_or(defaultValue);
+ }
public:
bool HasPKSortingOnly() const;
diff --git a/ydb/core/tx/columnshard/ut_rw/CMakeLists.darwin-x86_64.txt b/ydb/core/tx/columnshard/ut_rw/CMakeLists.darwin-x86_64.txt
index 587341b837..e51dec1b76 100644
--- a/ydb/core/tx/columnshard/ut_rw/CMakeLists.darwin-x86_64.txt
+++ b/ydb/core/tx/columnshard/ut_rw/CMakeLists.darwin-x86_64.txt
@@ -24,6 +24,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_rw PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-aarch64.txt b/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-aarch64.txt
index 54902b8346..2b43f87f55 100644
--- a/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-aarch64.txt
+++ b/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-aarch64.txt
@@ -24,6 +24,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_rw PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-x86_64.txt b/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-x86_64.txt
index 241f37985b..47af387c56 100644
--- a/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-x86_64.txt
+++ b/ydb/core/tx/columnshard/ut_rw/CMakeLists.linux-x86_64.txt
@@ -25,6 +25,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_rw PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_rw/CMakeLists.windows-x86_64.txt b/ydb/core/tx/columnshard/ut_rw/CMakeLists.windows-x86_64.txt
index fa4a063ddd..6118745799 100644
--- a/ydb/core/tx/columnshard/ut_rw/CMakeLists.windows-x86_64.txt
+++ b/ydb/core/tx/columnshard/ut_rw/CMakeLists.windows-x86_64.txt
@@ -24,6 +24,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_rw PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp b/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp
index aa20d99089..ec36f237ee 100644
--- a/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp
+++ b/ydb/core/tx/columnshard/ut_rw/ut_columnshard_read_write.cpp
@@ -10,6 +10,7 @@
#include <ydb/core/tx/columnshard/engines/changes/cleanup.h>
#include <ydb/core/tx/columnshard/operations/write_data.h>
#include <ydb/core/tx/columnshard/hooks/abstract/abstract.h>
+#include <ydb/core/tx/columnshard/hooks/testing/controller.h>
#include <library/cpp/actors/protos/unittests.pb.h>
#include <ydb/core/formats/arrow/simple_builder/filler.h>
#include <ydb/core/formats/arrow/simple_builder/array.h>
@@ -29,7 +30,8 @@ namespace NTypeIds = NScheme::NTypeIds;
using TTypeId = NScheme::TTypeId;
using TTypeInfo = NScheme::TTypeInfo;
-class TDisableCompactionController: public NKikimr::NYDBTest::ICSController {
+using TDefaultTestsController = NKikimr::NYDBTest::NColumnShard::TController;
+class TDisableCompactionController: public NKikimr::NYDBTest::NColumnShard::TController {
protected:
virtual bool DoOnStartCompaction(std::shared_ptr<NOlap::TColumnEngineChanges>& changes) {
changes = nullptr;
@@ -542,6 +544,7 @@ void TestWriteOverload(const TestTableDescription& table) {
void TestWriteReadDup(const TestTableDescription& table = {}) {
TTestBasicRuntime runtime;
TTester::Setup(runtime);
+ auto csDefaultControllerGuard = NKikimr::NYDBTest::TControllers::RegisterCSControllerGuard<TDefaultTestsController>();
TActorId sender = runtime.AllocateEdgeActor();
CreateTestBootstrapper(runtime, CreateTestTabletInfo(TTestTxConfig::TxTablet0, TTabletTypes::ColumnShard), &CreateColumnShard);
@@ -592,6 +595,7 @@ void TestWriteReadDup(const TestTableDescription& table = {}) {
void TestWriteReadLongTxDup() {
TTestBasicRuntime runtime;
TTester::Setup(runtime);
+ auto csDefaultControllerGuard = NKikimr::NYDBTest::TControllers::RegisterCSControllerGuard<TDefaultTestsController>();
TActorId sender = runtime.AllocateEdgeActor();
CreateTestBootstrapper(runtime, CreateTestTabletInfo(TTestTxConfig::TxTablet0, TTabletTypes::ColumnShard), &CreateColumnShard);
@@ -1105,6 +1109,7 @@ void TestWriteRead(bool reboots, const TestTableDescription& table = {}, TString
void TestCompactionInGranuleImpl(bool reboots, const TestTableDescription& table) {
TTestBasicRuntime runtime;
TTester::Setup(runtime);
+ auto csDefaultControllerGuard = NKikimr::NYDBTest::TControllers::RegisterCSControllerGuard<TDefaultTestsController>();
TActorId sender = runtime.AllocateEdgeActor();
CreateTestBootstrapper(runtime, CreateTestTabletInfo(TTestTxConfig::TxTablet0, TTabletTypes::ColumnShard), &CreateColumnShard);
@@ -2486,6 +2491,7 @@ Y_UNIT_TEST_SUITE(TColumnShardTestReadWrite) {
void TestCompactionSplitGranuleImpl(const TestTableDescription& table, const TTestBlobOptions& testBlobOptions = {}) {
TTestBasicRuntime runtime;
TTester::Setup(runtime);
+ auto csDefaultControllerGuard = NKikimr::NYDBTest::TControllers::RegisterCSControllerGuard<TDefaultTestsController>();
TActorId sender = runtime.AllocateEdgeActor();
CreateTestBootstrapper(runtime, CreateTestTabletInfo(TTestTxConfig::TxTablet0, TTabletTypes::ColumnShard), &CreateColumnShard);
@@ -2806,6 +2812,7 @@ Y_UNIT_TEST_SUITE(TColumnShardTestReadWrite) {
void TestCompactionGC() {
TTestBasicRuntime runtime;
TTester::Setup(runtime);
+ auto csDefaultControllerGuard = NKikimr::NYDBTest::TControllers::RegisterCSControllerGuard<TDefaultTestsController>();
runtime.SetLogPriority(NKikimrServices::BLOB_CACHE, NActors::NLog::PRI_INFO);
diff --git a/ydb/core/tx/columnshard/ut_rw/ya.make b/ydb/core/tx/columnshard/ut_rw/ya.make
index c57bf410f1..2819d6f667 100644
--- a/ydb/core/tx/columnshard/ut_rw/ya.make
+++ b/ydb/core/tx/columnshard/ut_rw/ya.make
@@ -19,6 +19,8 @@ PEERDIR(
library/cpp/regex/pcre
library/cpp/svnversion
ydb/core/testlib/default
+ ydb/core/tx/columnshard/hooks/abstract
+ ydb/core/tx/columnshard/hooks/testing
ydb/services/metadata
ydb/core/tx
ydb/public/lib/yson_value
diff --git a/ydb/core/tx/columnshard/ut_schema/CMakeLists.darwin-x86_64.txt b/ydb/core/tx/columnshard/ut_schema/CMakeLists.darwin-x86_64.txt
index 5154de40fe..b939a28187 100644
--- a/ydb/core/tx/columnshard/ut_schema/CMakeLists.darwin-x86_64.txt
+++ b/ydb/core/tx/columnshard/ut_schema/CMakeLists.darwin-x86_64.txt
@@ -24,6 +24,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_schema PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-aarch64.txt b/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-aarch64.txt
index f478f6421c..2bfe87b014 100644
--- a/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-aarch64.txt
+++ b/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-aarch64.txt
@@ -24,6 +24,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_schema PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-x86_64.txt b/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-x86_64.txt
index fd236bae97..c88400f82d 100644
--- a/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-x86_64.txt
+++ b/ydb/core/tx/columnshard/ut_schema/CMakeLists.linux-x86_64.txt
@@ -25,6 +25,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_schema PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_schema/CMakeLists.windows-x86_64.txt b/ydb/core/tx/columnshard/ut_schema/CMakeLists.windows-x86_64.txt
index 797546b0e6..ac67d068cd 100644
--- a/ydb/core/tx/columnshard/ut_schema/CMakeLists.windows-x86_64.txt
+++ b/ydb/core/tx/columnshard/ut_schema/CMakeLists.windows-x86_64.txt
@@ -24,6 +24,8 @@ target_link_libraries(ydb-core-tx-columnshard-ut_schema PUBLIC
cpp-regex-pcre
library-cpp-svnversion
core-testlib-default
+ columnshard-hooks-abstract
+ columnshard-hooks-testing
ydb-services-metadata
ydb-core-tx
public-lib-yson_value
diff --git a/ydb/core/tx/columnshard/ut_schema/ut_columnshard_schema.cpp b/ydb/core/tx/columnshard/ut_schema/ut_columnshard_schema.cpp
index 440bece16e..d6b2860131 100644
--- a/ydb/core/tx/columnshard/ut_schema/ut_columnshard_schema.cpp
+++ b/ydb/core/tx/columnshard/ut_schema/ut_columnshard_schema.cpp
@@ -7,6 +7,7 @@
#include <ydb/core/tx/tx_proxy/proxy.h>
#include <ydb/core/tx/schemeshard/schemeshard.h>
#include <ydb/core/tx/columnshard/hooks/abstract/abstract.h>
+#include <ydb/core/tx/columnshard/hooks/testing/controller.h>
#include <ydb/core/tx/columnshard/blobs_reader/actor.h>
#include <ydb/public/sdk/cpp/client/ydb_table/table.h>
@@ -27,7 +28,7 @@ enum class EInitialEviction {
Tiering
};
-class TWaitCompactionController: public NKikimr::NYDBTest::ICSController {
+class TWaitCompactionController: public NKikimr::NYDBTest::NColumnShard::TController {
private:
using TBase = NKikimr::NYDBTest::ICSController;
TAtomic TTLFinishedCounter = 0;
diff --git a/ydb/core/tx/columnshard/ut_schema/ya.make b/ydb/core/tx/columnshard/ut_schema/ya.make
index bacba02d3d..f94fea4e91 100644
--- a/ydb/core/tx/columnshard/ut_schema/ya.make
+++ b/ydb/core/tx/columnshard/ut_schema/ya.make
@@ -19,6 +19,8 @@ PEERDIR(
library/cpp/regex/pcre
library/cpp/svnversion
ydb/core/testlib/default
+ ydb/core/tx/columnshard/hooks/abstract
+ ydb/core/tx/columnshard/hooks/testing
ydb/services/metadata
ydb/core/tx
ydb/public/lib/yson_value