diff options
| author | azevaykin <[email protected]> | 2024-08-29 15:28:47 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-08-29 15:28:47 +0300 |
| commit | 13f7cbdf2df0a07246c2ee76b828daa108ccd879 (patch) | |
| tree | e650643d8f461bbcbdced30761416100b14d4390 | |
| parent | 1e1d882ec03da28b2b1ad627b31bf121a8f5758f (diff) | |
Statistics: disable datashard traversal (#8402)
3 files changed, 22 insertions, 12 deletions
diff --git a/ydb/core/statistics/aggregator/aggregator_impl.cpp b/ydb/core/statistics/aggregator/aggregator_impl.cpp index b49ceb24589..2c9c1108515 100644 --- a/ydb/core/statistics/aggregator/aggregator_impl.cpp +++ b/ydb/core/statistics/aggregator/aggregator_impl.cpp @@ -550,6 +550,9 @@ void TStatisticsAggregator::Resolve() { } void TStatisticsAggregator::ScanNextDatashardRange() { + // Datashard traversal is temporary disabled + Y_FAIL(); + if (DatashardRanges.empty()) { SaveStatisticsToTable(); return; @@ -699,6 +702,7 @@ void TStatisticsAggregator::ScheduleNextTraversal(NIceDb::TNiceDb& db) { } TraversalPathId = pathId; + TraversalStartTime = TInstant::Now(); std::optional<bool> isColumnTable = IsColumnTable(pathId); if (!isColumnTable){ @@ -706,6 +710,13 @@ void TStatisticsAggregator::ScheduleNextTraversal(NIceDb::TNiceDb& db) { return; } + // Datashard traversal is temporary disabled + if (!*isColumnTable) { + SA_LOG_D("[" << TabletID() << "] ScheduleNextTraversal. Skip traversal for datashard table " << pathId); + DeleteStatisticsFromTable(); + return; + } + TraversalIsColumnTable = *isColumnTable; SA_LOG_D("[" << TabletID() << "] Start " @@ -716,7 +727,6 @@ void TStatisticsAggregator::ScheduleNextTraversal(NIceDb::TNiceDb& db) { } void TStatisticsAggregator::StartTraversal(NIceDb::TNiceDb& db) { - TraversalStartTime = TInstant::Now(); PersistTraversal(db); TraversalStartKey = TSerializedCellVec(); diff --git a/ydb/core/statistics/aggregator/ut/ut_analyze_datashard.cpp b/ydb/core/statistics/aggregator/ut/ut_analyze_datashard.cpp index 76677748229..4c1bf7a7d4e 100644 --- a/ydb/core/statistics/aggregator/ut/ut_analyze_datashard.cpp +++ b/ydb/core/statistics/aggregator/ut/ut_analyze_datashard.cpp @@ -38,7 +38,7 @@ Y_UNIT_TEST_SUITE(AnalyzeDatashard) { Analyze(runtime, saTabletId, {{pathId}}); - ValidateCountMinDatashard(runtime, pathId); + ValidateCountMinDatashardAbsense(runtime, pathId); } Y_UNIT_TEST(AnalyzeTwoTables) { @@ -64,8 +64,8 @@ Y_UNIT_TEST_SUITE(AnalyzeDatashard) { Analyze(runtime, saTabletId1, {pathId1, pathId2}); - ValidateCountMinDatashard(runtime, pathId1); - ValidateCountMinDatashard(runtime, pathId2); + ValidateCountMinDatashardAbsense(runtime, pathId1); + ValidateCountMinDatashardAbsense(runtime, pathId2); } diff --git a/ydb/core/statistics/aggregator/ut/ut_traverse_datashard.cpp b/ydb/core/statistics/aggregator/ut/ut_traverse_datashard.cpp index cab2ef533c1..37bba99f471 100644 --- a/ydb/core/statistics/aggregator/ut/ut_traverse_datashard.cpp +++ b/ydb/core/statistics/aggregator/ut/ut_traverse_datashard.cpp @@ -34,7 +34,7 @@ Y_UNIT_TEST_SUITE(TraverseDatashard) { runtime.SimulateSleep(TDuration::Seconds(60)); auto pathId = ResolvePathId(runtime, "/Root/Database/Table"); - ValidateCountMinDatashard(runtime, pathId); + ValidateCountMinDatashardAbsense(runtime, pathId); } Y_UNIT_TEST(TraverseTwoTables) { @@ -54,8 +54,8 @@ Y_UNIT_TEST_SUITE(TraverseDatashard) { auto pathId1 = ResolvePathId(runtime, "/Root/Database/Table1"); auto pathId2 = ResolvePathId(runtime, "/Root/Database/Table2"); - ValidateCountMinDatashard(runtime, pathId1); - ValidateCountMinDatashard(runtime, pathId2); + ValidateCountMinDatashardAbsense(runtime, pathId1); + ValidateCountMinDatashardAbsense(runtime, pathId2); } Y_UNIT_TEST(TraverseOneTableServerless) { @@ -85,7 +85,7 @@ Y_UNIT_TEST_SUITE(TraverseDatashard) { runtime.SimulateSleep(TDuration::Seconds(60)); auto pathId = ResolvePathId(runtime, "/Root/Serverless/Table"); - ValidateCountMinDatashard(runtime, pathId); + ValidateCountMinDatashardAbsense(runtime, pathId); } Y_UNIT_TEST(TraverseTwoTablesServerless) { @@ -117,8 +117,8 @@ Y_UNIT_TEST_SUITE(TraverseDatashard) { auto pathId1 = ResolvePathId(runtime, "/Root/Serverless/Table1"); auto pathId2 = ResolvePathId(runtime, "/Root/Serverless/Table2"); - ValidateCountMinDatashard(runtime, pathId1); - ValidateCountMinDatashard(runtime, pathId2); + ValidateCountMinDatashardAbsense(runtime, pathId1); + ValidateCountMinDatashardAbsense(runtime, pathId2); } Y_UNIT_TEST(TraverseTwoTablesTwoServerlessDbs) { @@ -151,8 +151,8 @@ Y_UNIT_TEST_SUITE(TraverseDatashard) { auto pathId1 = ResolvePathId(runtime, "/Root/Serverless1/Table1"); auto pathId2 = ResolvePathId(runtime, "/Root/Serverless2/Table2"); - ValidateCountMinDatashard(runtime, pathId1); - ValidateCountMinDatashard(runtime, pathId2); + ValidateCountMinDatashardAbsense(runtime, pathId1); + ValidateCountMinDatashardAbsense(runtime, pathId2); } } |
