Repository: ydb-platform/ydb
Pull request #19009: Extract CountRows() to generic ut helpers
Author: login: vitalif
Labels: name: not-for-changelog
Created: 2025-05-29T11:56:48Z | Merged: 2025-05-29T14:46:30Z

### Changelog category

* Not for changelog




Diff:
diff --git a/ydb/core/tx/schemeshard/ut_helpers/helpers.cpp b/ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
index 22feb17243a8..d378c5686502 100644
--- a/ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
+++ b/ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
@@ -18,6 +18,7 @@
 #include <ydb/public/api/protos/ydb_export.pb.h>
 #include <ydb/core/protos/schemeshard/operations.pb.h>
 #include <ydb/core/protos/auth.pb.h>
+#include <ydb/public/lib/deprecated/kicli/kicli.h>
 #include <ydb/public/sdk/cpp/include/ydb-cpp-sdk/client/table/table.h>
 
 #include <library/cpp/testing/unittest/registar.h>
@@ -2688,6 +2689,24 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table) {
+        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, false, true);
+        const auto& pathDesc = tableDesc.GetPathDescription();
+        const auto& key = pathDesc.GetTable().GetKeyColumnNames();
+        ui32 rows = 0;
+        for (const auto& x : pathDesc.GetTablePartitions()) {
+            auto result = ReadTable(runtime, x.GetDatashardId(), pathDesc.GetSelf().GetName(),
+                {key.begin(), key.end()}, {pathDesc.GetTable().GetKeyColumnNames()[0]});
+            auto value = NClient::TValue::Create(result);
+            rows += value["Result"]["List"].Size();
+        }
+        return rows;
+    }
+
+    ui32 CountRows(TTestActorRuntime& runtime, const TString& table) {
+        return CountRows(runtime, TTestTxConfig::SchemeShard, table);
+    }
+
     void WriteVectorTableRows(TTestActorRuntime& runtime, ui64 schemeShardId, ui64 txId, const TString & tablePath, bool withValue, ui32 shard, ui32 min, ui32 max) {
         TVector<TCell> cells;
         ui8 str[6] = { 0 };
diff --git a/ydb/core/tx/schemeshard/ut_helpers/helpers.h b/ydb/core/tx/schemeshard/ut_helpers/helpers.h
index aa09634b5d25..25863aece6c2 100644
--- a/ydb/core/tx/schemeshard/ut_helpers/helpers.h
+++ b/ydb/core/tx/schemeshard/ut_helpers/helpers.h
@@ -658,6 +658,9 @@ namespace NSchemeShardUT_Private {
     NKikimrMiniKQL::TResult ReadTable(TTestActorRuntime& runtime, ui64 tabletId,
         const TString& table, const TVector<TString>& pk, const TVector<TString>& columns, const TString& rangeFlags = "");
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table);
+    ui32 CountRows(TTestActorRuntime& runtime, const TString& table);
+
     void WriteVectorTableRows(TTestActorRuntime& runtime, ui64 schemeShardId, ui64 txId, const TString & tablePath,
         bool withValue, ui32 shard, ui32 min, ui32 max);
 
diff --git a/ydb/core/tx/schemeshard/ut_helpers/ya.make b/ydb/core/tx/schemeshard/ut_helpers/ya.make
index eabe089a44cc..fb1af4a00881 100644
--- a/ydb/core/tx/schemeshard/ut_helpers/ya.make
+++ b/ydb/core/tx/schemeshard/ut_helpers/ya.make
@@ -21,6 +21,7 @@ PEERDIR(
     ydb/core/tx/tx_proxy
     ydb/public/lib/scheme_types
     yql/essentials/public/issue
+    ydb/public/lib/deprecated/kicli
     ydb/public/sdk/cpp/src/client/driver
     ydb/public/sdk/cpp/src/client/table
 )
diff --git a/ydb/core/tx/schemeshard/ut_index/ut_async_index.cpp b/ydb/core/tx/schemeshard/ut_index/ut_async_index.cpp
index f6c737b62123..707052da387c 100644
--- a/ydb/core/tx/schemeshard/ut_index/ut_async_index.cpp
+++ b/ydb/core/tx/schemeshard/ut_index/ut_async_index.cpp
@@ -4,7 +4,6 @@
 #include <ydb/core/tx/schemeshard/ut_helpers/helpers.h>
 #include <ydb/core/tx/schemeshard/ut_helpers/test_with_reboots.h>
 #include <ydb/core/testlib/tablet_helpers.h>
-#include <ydb/public/lib/deprecated/kicli/kicli.h>
 #include <ydb/public/sdk/cpp/include/ydb-cpp-sdk/client/table/table.h>
 
 using namespace NKikimr;
@@ -126,37 +125,15 @@ Y_UNIT_TEST_SUITE(TAsyncIndexTests) {
         ui32 ExpectedRecords;
     };
 
-    template <typename C>
-    ui32 CountRows(TTestActorRuntime& runtime, const TTableTraits& table, const C& partitions) {
-        ui32 rows = 0;
-
-        for (const auto& x : partitions) {
-            auto result = ReadTable(runtime, x.GetDatashardId(), SplitPath(table.Path).back(), table.Key, table.Columns);
-            auto value = NClient::TValue::Create(result);
-            rows += value["Result"]["List"].Size();
-        }
-
-        return rows;
-    }
-
     bool CheckWrittenToIndex(TTestActorRuntime& runtime, const TTableTraits& mainTable, const TTableTraits& indexTable) {
-        bool writtenToMainTable = false;
-        {
-            auto tableDesc = DescribePath(runtime, mainTable.Path, true, true);
-            const auto& tablePartitions = tableDesc.GetPathDescription().GetTablePartitions();
-            UNIT_ASSERT(!tablePartitions.empty());
-            writtenToMainTable = mainTable.ExpectedRecords == CountRows(runtime, mainTable, tablePartitions);
-        }
+        auto mainTableRows = CountRows(runtime, mainTable.Path);
+        bool writtenToMainTable = (mainTable.ExpectedRecords == mainTableRows);
 
         if (writtenToMainTable) {
-            auto tableDesc = DescribePrivatePath(runtime, indexTable.Path, true, true);
-            const auto& tablePartitions = tableDesc.GetPathDescription().GetTablePartitions();
-            UNIT_ASSERT(!tablePartitions.empty());
-
             int i = 0;
             while (++i < 10) {
                 runtime.SimulateSleep(TDuration::Seconds(1));
-                if (indexTable.ExpectedRecords == CountRows(runtime, indexTable, tablePartitions)) {
+                if (indexTable.ExpectedRecords == CountRows(runtime, indexTable.Path)) {
                     break;
                 }
             }
diff --git a/ydb/core/tx/schemeshard/ut_index/ya.make b/ydb/core/tx/schemeshard/ut_index/ya.make
index 6bdda0b6204e..ddd365aeee78 100644
--- a/ydb/core/tx/schemeshard/ut_index/ya.make
+++ b/ydb/core/tx/schemeshard/ut_index/ya.make
@@ -16,7 +16,6 @@ PEERDIR(
     ydb/core/scheme
     ydb/core/testlib/default
     ydb/core/tx/schemeshard/ut_helpers
-    ydb/public/lib/deprecated/kicli
 )
 
 SRCS(
diff --git a/ydb/core/tx/schemeshard/ut_index_build/ut_vector_index_build.cpp b/ydb/core/tx/schemeshard/ut_index_build/ut_vector_index_build.cpp
index fe5c69c88b04..f2d8530bd57b 100644
--- a/ydb/core/tx/schemeshard/ut_index_build/ut_vector_index_build.cpp
+++ b/ydb/core/tx/schemeshard/ut_index_build/ut_vector_index_build.cpp
@@ -8,7 +8,6 @@
 #include <ydb/core/tx/datashard/datashard.h>
 #include <ydb/core/metering/metering.h>
 
-#include <ydb/public/lib/deprecated/kicli/kicli.h>
 #include <ydb/public/sdk/cpp/include/ydb-cpp-sdk/client/table/table.h>
 
 using namespace NKikimr;
@@ -177,15 +176,7 @@ Y_UNIT_TEST_SUITE (VectorIndexBuildTest) {
 
         // Check row count in the posting table
         {
-            auto indexDesc = DescribePath(runtime, tenantSchemeShard, "/MyRoot/ServerLessDB/Table/index1/indexImplPostingTable", true, true, true);
-            auto parts = indexDesc.GetPathDescription().GetTablePartitions();
-            ui32 rows = 0;
-            for (const auto & x: parts) {
-                auto result = ReadTable(runtime, x.GetDatashardId(), "indexImplPostingTable",
-                    {NKikimr::NTableIndex::NTableVectorKmeansTreeIndex::ParentColumn, "key"}, {"key"});
-                auto value = NClient::TValue::Create(result);
-                rows += value["Result"]["List"].Size();
-            }
+            auto rows = CountRows(runtime, tenantSchemeShard, "/MyRoot/ServerLessDB/Table/index1/indexImplPostingTable");
             Cerr << "... posting table contains " << rows << " rows" << Endl;
             UNIT_ASSERT_VALUES_EQUAL(rows, 200);
         }


Reviews:
user: login: CyberROFL
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-29T12:08:35Z
user: login: vitalif
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-29T13:19:03Z
user: login: vitalif
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-29T13:19:11Z
user: login: vitalif
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-29T13:19:19Z
user: login: vitalif
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-29T13:19:46Z
user: login: vitalif
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-29T13:20:18Z
user: login: vitalif
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-29T13:20:26Z
user: login: vitalif
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-29T13:20:34Z
user: login: CyberROFL
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-29T13:48:25Z

Review comments:
diff_hunk: @@ -658,6 +658,8 @@ namespace NSchemeShardUT_Private {
     NKikimrMiniKQL::TResult ReadTable(TTestActorRuntime& runtime, ui64 tabletId,
         const TString& table, const TVector<TString>& pk, const TVector<TString>& columns, const TString& rangeFlags = "");
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table);
path: ydb/core/tx/schemeshard/ut_helpers/helpers.h
user: login: CyberROFL
body: Логично сделать перегрузку без `schemeshardId` (с `TTestTxConfig::SchemeShard`). По аналогии с другими методами.
created_at: 2025-05-29T11:58:27Z
author_association: MEMBER
diff_hunk: @@ -18,6 +18,7 @@
 #include <ydb/public/api/protos/ydb_export.pb.h>
 #include <ydb/core/protos/schemeshard/operations.pb.h>
 #include <ydb/core/protos/auth.pb.h>
+#include <ydb/public/lib/deprecated/kicli/kicli.h>
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: CyberROFL
body: Нужно еще добавить зависимость в `PEERDIR`.
created_at: 2025-05-29T11:59:10Z
author_association: MEMBER
diff_hunk: @@ -4,7 +4,6 @@
 #include <ydb/core/tx/schemeshard/ut_helpers/helpers.h>
 #include <ydb/core/tx/schemeshard/ut_helpers/test_with_reboots.h>
 #include <ydb/core/testlib/tablet_helpers.h>
-#include <ydb/public/lib/deprecated/kicli/kicli.h>
path: ydb/core/tx/schemeshard/ut_index/ut_async_index.cpp
user: login: CyberROFL
body: Нужно удалить зависимость в `PEERDIR`.
created_at: 2025-05-29T11:59:35Z
author_association: MEMBER
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
+        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, true, true);
+        auto & pathDesc = tableDesc.GetPathDescription();
+        auto & key = pathDesc.GetTable().GetKeyColumnNames();
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: CyberROFL
body: ```suggestion
        const auto& pathDesc = tableDesc.GetPathDescription();
        const auto& key = pathDesc.GetTable().GetKeyColumnNames();
```
created_at: 2025-05-29T12:00:43Z
author_association: MEMBER
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
+        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, true, true);
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: CyberROFL
body: ```suggestion
        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, false, true);
```

Достаточно так. Границы шардов не нужны.
created_at: 2025-05-29T12:02:32Z
author_association: MEMBER
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
+        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, true, true);
+        auto & pathDesc = tableDesc.GetPathDescription();
+        auto & key = pathDesc.GetTable().GetKeyColumnNames();
+        ui32 rows = 0;
+        for (const auto & x: pathDesc.GetTablePartitions()) {
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: CyberROFL
body: ```suggestion
        for (const auto& x : pathDesc.GetTablePartitions()) {
```
created_at: 2025-05-29T12:02:53Z
author_association: MEMBER
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: CyberROFL
body: ```suggestion
    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table) {
```
created_at: 2025-05-29T12:05:15Z
author_association: MEMBER
diff_hunk: @@ -658,6 +658,8 @@ namespace NSchemeShardUT_Private {
     NKikimrMiniKQL::TResult ReadTable(TTestActorRuntime& runtime, ui64 tabletId,
         const TString& table, const TVector<TString>& pk, const TVector<TString>& columns, const TString& rangeFlags = "");
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table);
path: ydb/core/tx/schemeshard/ut_helpers/helpers.h
user: login: vitalif
body: Сделал
created_at: 2025-05-29T13:19:03Z
author_association: COLLABORATOR
diff_hunk: @@ -4,7 +4,6 @@
 #include <ydb/core/tx/schemeshard/ut_helpers/helpers.h>
 #include <ydb/core/tx/schemeshard/ut_helpers/test_with_reboots.h>
 #include <ydb/core/testlib/tablet_helpers.h>
-#include <ydb/public/lib/deprecated/kicli/kicli.h>
path: ydb/core/tx/schemeshard/ut_index/ut_async_index.cpp
user: login: vitalif
body: ОК
created_at: 2025-05-29T13:19:11Z
author_association: COLLABORATOR
diff_hunk: @@ -18,6 +18,7 @@
 #include <ydb/public/api/protos/ydb_export.pb.h>
 #include <ydb/core/protos/schemeshard/operations.pb.h>
 #include <ydb/core/protos/auth.pb.h>
+#include <ydb/public/lib/deprecated/kicli/kicli.h>
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: vitalif
body: ОК
created_at: 2025-05-29T13:19:19Z
author_association: COLLABORATOR
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
+        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, true, true);
+        auto & pathDesc = tableDesc.GetPathDescription();
+        auto & key = pathDesc.GetTable().GetKeyColumnNames();
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: vitalif
body: Сделал
created_at: 2025-05-29T13:19:46Z
author_association: COLLABORATOR
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
+        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, true, true);
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: vitalif
body: ОК
created_at: 2025-05-29T13:20:18Z
author_association: COLLABORATOR
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: vitalif
body: ОК
created_at: 2025-05-29T13:20:26Z
author_association: COLLABORATOR
diff_hunk: @@ -2688,6 +2689,21 @@ namespace NSchemeShardUT_Private {
         return result;
     }
 
+    ui32 CountRows(TTestActorRuntime& runtime, ui64 schemeshardId, const TString& table)
+    {
+        auto tableDesc = DescribePath(runtime, schemeshardId, table, true, true, true);
+        auto & pathDesc = tableDesc.GetPathDescription();
+        auto & key = pathDesc.GetTable().GetKeyColumnNames();
+        ui32 rows = 0;
+        for (const auto & x: pathDesc.GetTablePartitions()) {
path: ydb/core/tx/schemeshard/ut_helpers/helpers.cpp
user: login: vitalif
body: ОК
created_at: 2025-05-29T13:20:33Z
author_association: COLLABORATOR

PR comments:
user: login: github-actions[bot]
created_at: 2025-05-29T11:57:47Z
body: <!-- status pr=19009, validate PR description status -->
:green_circle: `2025-05-29 11:57:46 UTC` The validation of the Pull Request description is successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-29T11:58:02Z
body: <!-- status pr=19009, preset=relwithdebinfo, run=44628 -->
:white_circle: `2025-05-29 11:58:02 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15323300126/job/43111650445) **linux-x86_64-relwithdebinfo** for c3fe26adc54adc830926b5879b2078287d2068ea has started.
:white_circle: `2025-05-29 11:58:12 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15323300126/ya-x86-64/index.html)
:white_circle: `2025-05-29 12:00:39 UTC` ya make is running...
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-29T11:58:04Z
body: <!-- status pr=19009, preset=release-asan, run=44628 -->
:white_circle: `2025-05-29 11:58:04 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15323300126/job/43111650451) **linux-x86_64-release-asan** for c3fe26adc54adc830926b5879b2078287d2068ea has started.
:white_circle: `2025-05-29 11:58:15 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15323300126/ya-x86-64-asan/index.html)
:white_circle: `2025-05-29 12:00:45 UTC` ya make is running...
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-29T13:21:57Z
body: <!-- status pr=19009, preset=release-asan, run=44656 -->
:white_circle: `2025-05-29 13:21:56 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15324774783/job/43116468386) **linux-x86_64-release-asan** for 8cc2d615861f149a856a080e7fee04d03daadeb1 has started.
:white_circle: `2025-05-29 13:22:06 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/index.html)
:white_circle: `2025-05-29 13:24:31 UTC` ya make is running...
:yellow_circle: `2025-05-29 13:44:41 UTC` Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/170043) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [2060](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/ya-test.html) | [2031](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [26](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-29 13:45:00 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-29 13:59:34 UTC` Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/170065) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_2/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [345 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_2/ya-test.html) | [339](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [5](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_2/ya-test.html#FAIL) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-29 13:59:45 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-29 14:12:29 UTC` Some tests failed, follow the links below. This fail is not in blocking policy yet

[Test history](https://nebius.testmo.net/automation/runs/view/170084) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_3/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [226 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_3/ya-test.html) | [221](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [4](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_3/ya-test.html#FAIL) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-29 14:12:36 UTC` Build successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-29T13:22:21Z
body: <!-- status pr=19009, preset=relwithdebinfo, run=44656 -->
:white_circle: `2025-05-29 13:22:20 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15324774783/job/43116468398) **linux-x86_64-relwithdebinfo** for 8cc2d615861f149a856a080e7fee04d03daadeb1 has started.
:white_circle: `2025-05-29 13:22:31 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64/index.html)
:white_circle: `2025-05-29 13:24:59 UTC` ya make is running...
:green_circle: `2025-05-29 13:40:46 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/170045) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64/try_1/test_bloat/tree_map.html)
| TESTS | PASSED | ERRORS | FAILED | SKIPPED | MUTED<sup>[?](https://github.com/ydb-platform/ydb/tree/main/.github/config/muted_ya.txt "All mute rules are defined here")</sup> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [3049](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64/try_1/ya-test.html) | [3049](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15324774783/ya-x86-64/try_1/ya-test.html#PASS) | 0 | 0 | 0 | 0 |

:green_circle: `2025-05-29 13:41:08 UTC` Build successful.
author_association: NONE