Repository: ydb-platform/ydb
Pull request #18608: application of duplicate filters in simple reader
Author: login: swalrus1
Labels: name: not-for-changelog
Created: 2025-05-21T09:41:29Z | Merged: 2025-05-28T22:17:47Z

### Changelog entry <!-- a user-readable short description of the changes that goes to CHANGELOG.md and Release Notes -->


### Changelog category <!-- remove all except one -->

* Not for changelog (changelog entry is not required)

### Description for reviewers <!-- (optional) description for those who read this PR -->

...



Diff:
diff --git a/ydb/core/formats/arrow/arrow_filter.cpp b/ydb/core/formats/arrow/arrow_filter.cpp
index 7be4883bea85..f7544701c2ca 100644
--- a/ydb/core/formats/arrow/arrow_filter.cpp
+++ b/ydb/core/formats/arrow/arrow_filter.cpp
@@ -297,6 +297,9 @@ const std::vector<bool>& TColumnFilter::BuildSimpleFilter() const {
 class TMergePolicyAnd {
 private:
 public:
+    static bool HasValue(const bool /*a*/, const bool /*b*/) {
+        return true;
+    }
     static bool Calc(const bool a, const bool b) {
         return a && b;
     }
@@ -307,11 +310,17 @@ class TMergePolicyAnd {
             return TColumnFilter::BuildDenyFilter();
         }
     }
+    static TColumnFilter MergeWithSimple(const bool simpleValue, const TColumnFilter& filter) {
+        return MergeWithSimple(filter, simpleValue);
+    }
 };
 
 class TMergePolicyOr {
 private:
 public:
+    static bool HasValue(const bool /*a*/, const bool /*b*/) {
+        return true;
+    }
     static bool Calc(const bool a, const bool b) {
         return a || b;
     }
@@ -322,6 +331,43 @@ class TMergePolicyOr {
             return filter;
         }
     }
+    static TColumnFilter MergeWithSimple(const bool simpleValue, const TColumnFilter& filter) {
+        return MergeWithSimple(filter, simpleValue);
+    }
+};
+
+class TMergePolicyApplyFilter {
+private:
+public:
+    static bool HasValue(const bool /*a*/, const bool b) {
+        return b;
+    }
+    static bool Calc(const bool a, const bool /*b*/) {
+        return a;
+    }
+    static TColumnFilter MergeWithSimple(const TColumnFilter& filter, const bool simpleValue) {
+        if (simpleValue) {
+            return filter;
+        } else {
+            return TColumnFilter::BuildDenyFilter();
+        }
+    }
+    static TColumnFilter MergeWithSimple(const bool simpleValue, const TColumnFilter& filter) {
+        const auto count = filter.GetRecordsCount();
+        if (simpleValue) {
+            TColumnFilter result = TColumnFilter::BuildAllowFilter();
+            if (count) {
+                result.Add(true, *count);
+            }
+            return result;
+        } else {
+            TColumnFilter result = TColumnFilter::BuildDenyFilter();
+            if (count) {
+                result.Add(false, *count);
+            }
+            return result;
+        }
+    }
 };
 
 class TColumnFilter::TMergerImpl {
@@ -340,7 +386,7 @@ class TColumnFilter::TMergerImpl {
         if (Filter1.empty() && Filter2.empty()) {
             return TColumnFilter(TMergePolicy::Calc(Filter1.DefaultFilterValue, Filter2.DefaultFilterValue));
         } else if (Filter1.empty()) {
-            return TMergePolicy::MergeWithSimple(Filter2, Filter1.DefaultFilterValue);
+            return TMergePolicy::MergeWithSimple(Filter1.DefaultFilterValue, Filter2);
         } else if (Filter2.empty()) {
             return TMergePolicy::MergeWithSimple(Filter1, Filter2.DefaultFilterValue);
         } else {
@@ -359,7 +405,7 @@ class TColumnFilter::TMergerImpl {
 
             while (it1 != Filter1.Filter.cend() && it2 != Filter2.Filter.cend()) {
                 const ui32 delta = TColumnFilter::CrossSize(pos2, pos2 + *it2, pos1, pos1 + *it1);
-                if (delta) {
+                if (delta && TMergePolicy::HasValue(curValue1, curValue2)) {
                     if (!count || curCurrent != TMergePolicy::Calc(curValue1, curValue2)) {
                         resultFilter.emplace_back(delta);
                         curCurrent = TMergePolicy::Calc(curValue1, curValue2);
@@ -405,10 +451,15 @@ TColumnFilter TColumnFilter::Or(const TColumnFilter& extFilter) const {
     return TMergerImpl(*this, extFilter).Merge<TMergePolicyOr>();
 }
 
+TColumnFilter TColumnFilter::ApplyFilterFrom(const TColumnFilter& extFilter) const {
+    ResetCaches();
+    return TMergerImpl(*this, extFilter).Merge<TMergePolicyApplyFilter>();
+}
+
 TColumnFilter TColumnFilter::CombineSequentialAnd(const TColumnFilter& extFilter) const {
     ResetCaches();
     if (Filter.empty()) {
-        return TMergePolicyAnd::MergeWithSimple(extFilter, DefaultFilterValue);
+        return TMergePolicyAnd::MergeWithSimple(DefaultFilterValue, extFilter);
     } else if (extFilter.Filter.empty()) {
         return TMergePolicyAnd::MergeWithSimple(*this, extFilter.DefaultFilterValue);
     } else {
diff --git a/ydb/core/formats/arrow/arrow_filter.h b/ydb/core/formats/arrow/arrow_filter.h
index 9a135f5961ae..4fae08842234 100644
--- a/ydb/core/formats/arrow/arrow_filter.h
+++ b/ydb/core/formats/arrow/arrow_filter.h
@@ -263,8 +263,9 @@ class TColumnFilter {
         return TColumnFilter(false);
     }
 
-    TColumnFilter And(const TColumnFilter& extFilter) const Y_WARN_UNUSED_RESULT;
-    TColumnFilter Or(const TColumnFilter& extFilter) const Y_WARN_UNUSED_RESULT;
+    [[nodiscard]] TColumnFilter And(const TColumnFilter& extFilter) const;
+    [[nodiscard]] TColumnFilter Or(const TColumnFilter& extFilter) const;
+    [[nodiscard]] TColumnFilter ApplyFilterFrom(const TColumnFilter& filter) const;
 
     class TApplyContext {
     private:
diff --git a/ydb/core/formats/arrow/program/collection.h b/ydb/core/formats/arrow/program/collection.h
index 5d1f6a5b2996..ccd62cc6be62 100644
--- a/ydb/core/formats/arrow/program/collection.h
+++ b/ydb/core/formats/arrow/program/collection.h
@@ -453,6 +453,9 @@ class TAccessorsCollection {
     }
 
     void AddFilter(const TColumnFilter& filter) {
+        if (filter.IsTotalAllowFilter()) {
+            return;
+        }
         if (!UseFilter) {
             *Filter = Filter->And(filter);
         } else {
diff --git a/ydb/core/formats/arrow/ut/ut_column_filter.cpp b/ydb/core/formats/arrow/ut/ut_column_filter.cpp
index 5994e8c45ce6..11acbe162613 100644
--- a/ydb/core/formats/arrow/ut/ut_column_filter.cpp
+++ b/ydb/core/formats/arrow/ut/ut_column_filter.cpp
@@ -28,6 +28,27 @@ Y_UNIT_TEST_SUITE(ColumnFilter) {
         UNIT_ASSERT_VALUES_EQUAL(JoinSeq(",", resultVec), "1,1,1,0,1,0,0");
     }
 
+    Y_UNIT_TEST(ApplyFilterToFilter) {
+        TColumnFilter filter1({ true, true, true, false, true, true, false });
+        TColumnFilter filter2({ false, true, true, true, true, false, false });
+
+        {
+            auto result = filter1.ApplyFilterFrom(filter2);
+
+            UNIT_ASSERT_VALUES_EQUAL(result.GetRecordsCountVerified(), 4);
+            auto resultVec = result.BuildSimpleFilter();
+            UNIT_ASSERT_VALUES_EQUAL(JoinSeq(",", resultVec), "1,1,0,1");
+        }
+
+        {
+            auto result = filter2.ApplyFilterFrom(filter1);
+
+            UNIT_ASSERT_VALUES_EQUAL(result.GetRecordsCountVerified(), 5);
+            auto resultVec = result.BuildSimpleFilter();
+            UNIT_ASSERT_VALUES_EQUAL(JoinSeq(",", resultVec), "0,1,1,1,0");
+        }
+    }
+
     Y_UNIT_TEST(FilterSlice) {
         TColumnFilter filter({ true, true, true, false, true, true, false });
         {
diff --git a/ydb/core/tx/columnshard/columnshard_private_events.h b/ydb/core/tx/columnshard/columnshard_private_events.h
index be8b01f88be3..779cfe83e537 100644
--- a/ydb/core/tx/columnshard/columnshard_private_events.h
+++ b/ydb/core/tx/columnshard/columnshard_private_events.h
@@ -69,6 +69,8 @@ struct TEvPrivate {
         EvRemovePortionDataAccessor,
         EvMetadataAccessorsInfo,
 
+        EvRequestFilter,
+
         EvEnd
     };
 
diff --git a/ydb/core/tx/columnshard/counters/scan.h b/ydb/core/tx/columnshard/counters/scan.h
index 9c5313f240fd..f1cc245931fd 100644
--- a/ydb/core/tx/columnshard/counters/scan.h
+++ b/ydb/core/tx/columnshard/counters/scan.h
@@ -354,6 +354,7 @@ class TConcreteScanCounters: public TScanCounters {
     std::shared_ptr<TAtomicCounter> ResourcesAllocationTasksCount = std::make_shared<TAtomicCounter>();
     std::shared_ptr<TAtomicCounter> ResultsForSourceCount = std::make_shared<TAtomicCounter>();
     std::shared_ptr<TAtomicCounter> ResultsForReplyGuard = std::make_shared<TAtomicCounter>();
+    std::shared_ptr<TAtomicCounter> FilterFetchingGuard = std::make_shared<TAtomicCounter>();
     std::shared_ptr<TAtomicCounter> TotalExecutionDurationUs = std::make_shared<TAtomicCounter>();
     THashMap<ui32, std::shared_ptr<TAtomicCounter>> SkipNodesCount;
     THashMap<ui32, std::shared_ptr<TAtomicCounter>> ExecuteNodesCount;
@@ -393,7 +394,8 @@ class TConcreteScanCounters: public TScanCounters {
                                 << "ReadTasksCount:" << ReadTasksCount->Val() << ";"
                                 << "ResourcesAllocationTasksCount:" << ResourcesAllocationTasksCount->Val() << ";"
                                 << "ResultsForSourceCount:" << ResultsForSourceCount->Val() << ";"
-                                << "ResultsForReplyGuard:" << ResultsForReplyGuard->Val() << ";";
+                                << "ResultsForReplyGuard:" << ResultsForReplyGuard->Val() << ";"
+                                << "FilterFetchingGuard:" << FilterFetchingGuard->Val() << ";";
     }
 
     TCounterGuard GetResultsForReplyGuard() const {
@@ -428,9 +430,14 @@ class TConcreteScanCounters: public TScanCounters {
         return TCounterGuard(AssembleTasksCount);
     }
 
+    TCounterGuard GetFilterFetchingGuard() const {
+        return TCounterGuard(FilterFetchingGuard);
+    }
+
     bool InWaiting() const {
         return MergeTasksCount->Val() || AssembleTasksCount->Val() || ReadTasksCount->Val() || ResourcesAllocationTasksCount->Val() ||
-               FetchAccessorsCount->Val() || ResultsForSourceCount->Val() || FetchBlobsCount->Val() || ResultsForReplyGuard->Val();
+               FetchAccessorsCount->Val() || ResultsForSourceCount->Val() || FetchBlobsCount->Val() || ResultsForReplyGuard->Val() ||
+               FilterFetchingGuard->Val();
     }
 
     const THashMap<ui32, std::shared_ptr<TAtomicCounter>>& GetSkipStats() const {
diff --git a/ydb/core/tx/columnshard/engines/reader/abstract/read_metadata.h b/ydb/core/tx/columnshard/engines/reader/abstract/read_metadata.h
index aac729f0a4aa..b369cec47373 100644
--- a/ydb/core/tx/columnshard/engines/reader/abstract/read_metadata.h
+++ b/ydb/core/tx/columnshard/engines/reader/abstract/read_metadata.h
@@ -58,6 +58,7 @@ class TReadMetadataBase {
     std::shared_ptr<ISnapshotSchema> ResultIndexSchema;
     ui64 TxId = 0;
     std::optional<ui64> LockId;
+    EDeduplicationPolicy DeduplicationPolicy = EDeduplicationPolicy::ALLOW_DUPLICATES;
 
 public:
     using TConstPtr = std::shared_ptr<const TReadMetadataBase>;
@@ -107,6 +108,10 @@ class TReadMetadataBase {
         return LockId;
     }
 
+    EDeduplicationPolicy GetDeduplicationPolicy() const {
+        return DeduplicationPolicy;
+    }
+
     void OnReadFinished(NColumnShard::TColumnShard& owner) const {
         DoOnReadFinished(owner);
     }
diff --git a/ydb/core/tx/columnshard/engines/reader/common/description.h b/ydb/core/tx/columnshard/engines/reader/common/description.h
index 0572c4e8fc40..8c1edddea79d 100644
--- a/ydb/core/tx/columnshard/engines/reader/common/description.h
+++ b/ydb/core/tx/columnshard/engines/reader/common/description.h
@@ -13,6 +13,11 @@ enum class ERequestSorting {
     DESC /* "descending" */,
 };
 
+enum class EDeduplicationPolicy {
+    ALLOW_DUPLICATES = 0,
+    PREVENT_DUPLICATES,
+};
+
 // Describes read/scan request
 struct TReadDescription {
 private:
@@ -35,6 +40,7 @@ struct TReadDescription {
     // operations with potentially different columns. We have to remove columns to support -Inf (Null) and +Inf.
     std::shared_ptr<NOlap::TPKRangesFilter> PKRangesFilter;
     NYql::NDqProto::EDqStatsMode StatsMode = NYql::NDqProto::EDqStatsMode::DQ_STATS_MODE_NONE;
+    EDeduplicationPolicy DeduplicationPolicy = EDeduplicationPolicy::ALLOW_DUPLICATES;
 
     // List of columns
     std::vector<ui32> ColumnIds;
diff --git a/ydb/core/tx/columnshard/engines/reader/common_reader/constructor/read_metadata.cpp b/ydb/core/tx/columnshard/engines/reader/common_reader/constructor/read_metadata.cpp
index 1e3999e2ede7..934a603e4df3 100644
--- a/ydb/core/tx/columnshard/engines/reader/common_reader/constructor/read_metadata.cpp
+++ b/ydb/core/tx/columnshard/engines/reader/common_reader/constructor/read_metadata.cpp
@@ -41,6 +41,7 @@ TConclusionStatus TReadMetadata::Init(
     }
 
     StatsMode = readDescription.StatsMode;
+    DeduplicationPolicy = readDescription.DeduplicationPolicy;
     return TConclusionStatus::Success();
 }
 
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.cpp b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.cpp
new file mode 100644
index 000000000000..602e4aa26bb5
--- /dev/null
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.cpp
@@ -0,0 +1,16 @@
+#include "events.h"
+
+#include <ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/source.h>
+
+namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering {
+
+TEvRequestFilter::TEvRequestFilter(const IDataSource& source, const std::shared_ptr<IFilterSubscriber>& subscriber)
+    : MinPK(source.GetMinPK())
+    , MaxPK(source.GetMaxPK())
+    , SourceId(source.GetSourceId())
+    , RecordsCount(source.GetRecordsCount())
+    , MaxVersion(source.GetContext()->GetCommonContext()->GetReadMetadata()->GetRequestSnapshot())
+    , Subscriber(subscriber) {
+}
+
+}   // namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.h b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.h
new file mode 100644
index 000000000000..6a386fdde4f0
--- /dev/null
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.h
@@ -0,0 +1,35 @@
+#pragma once
+
+#include <ydb/core/formats/arrow/arrow_filter.h>
+#include <ydb/core/tx/columnshard/columnshard_private_events.h>
+#include <ydb/core/tx/columnshard/engines/reader/common_reader/iterator/source.h>
+
+#include <ydb/library/actors/core/event_local.h>
+
+namespace NKikimr::NOlap::NReader::NSimple {
+class IDataSource;
+}
+
+namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering {
+
+class IFilterSubscriber {
+public:
+    virtual void OnFilterReady(NArrow::TColumnFilter&&) = 0;
+    virtual void OnFailure(const TString& reason) = 0;
+    virtual ~IFilterSubscriber() = default;
+};
+
+class TEvRequestFilter: public NActors::TEventLocal<TEvRequestFilter, NColumnShard::TEvPrivate::EvRequestFilter> {
+private:
+    NArrow::TSimpleRow MinPK;
+    NArrow::TSimpleRow MaxPK;
+    YDB_READONLY_DEF(ui64, SourceId);
+    YDB_READONLY_DEF(ui64, RecordsCount);
+    TSnapshot MaxVersion;
+    YDB_READONLY_DEF(std::shared_ptr<IFilterSubscriber>, Subscriber);
+
+public:
+    TEvRequestFilter(const IDataSource& source, const std::shared_ptr<IFilterSubscriber>& subscriber);
+};
+
+}   // namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.cpp b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.cpp
new file mode 100644
index 000000000000..6a856b5b8025
--- /dev/null
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.cpp
@@ -0,0 +1,17 @@
+#include "manager.h"
+
+#include <ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.h>
+
+namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering {
+
+TDuplicateManager::TDuplicateManager(const TSpecialReadContext& /*context*/)
+    : TActor(&TDuplicateManager::StateMain) {
+}
+
+void TDuplicateManager::Handle(const TEvRequestFilter::TPtr& ev) {
+    NArrow::TColumnFilter filter = NArrow::TColumnFilter::BuildAllowFilter();
+    filter.Add(true, ev->Get()->GetRecordsCount());
+    ev->Get()->GetSubscriber()->OnFilterReady(std::move(filter));
+}
+
+}   // namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.h b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.h
new file mode 100644
index 000000000000..9b710f359259
--- /dev/null
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.h
@@ -0,0 +1,33 @@
+#pragma once
+
+#include "events.h"
+
+#include <ydb/library/actors/core/actor_bootstrapped.h>
+
+namespace NKikimr::NOlap::NReader::NSimple {
+class TSpecialReadContext;
+}
+
+namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering {
+
+class TDuplicateManager: public NActors::TActor<TDuplicateManager> {
+private:
+    STATEFN(StateMain) {
+        switch (ev->GetTypeRewrite()) {
+            hFunc(TEvRequestFilter, Handle);
+            hFunc(NActors::TEvents::TEvPoison, Handle);
+            default:
+                AFL_VERIFY(false)("unexpected_event", ev->GetTypeName());
+        }
+    }
+
+    void Handle(const TEvRequestFilter::TPtr&);
+    void Handle(const NActors::TEvents::TEvPoison::TPtr&) {
+        PassAway();
+    }
+
+public:
+    TDuplicateManager(const TSpecialReadContext& context);
+};
+
+}   // namespace NKikimr::NOlap::NReader::NSimple::NDuplicateFiltering
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/ya.make b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/ya.make
new file mode 100644
index 000000000000..3e9720055408
--- /dev/null
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/ya.make
@@ -0,0 +1,12 @@
+LIBRARY()
+
+SRCS(
+    manager.cpp
+    events.cpp
+)
+
+PEERDIR(
+    ydb/core/tx/columnshard/engines/reader/common_reader/iterator
+)
+
+END()
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
index 59f3601bf55e..59c560c9e982 100644
--- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
@@ -2,6 +2,7 @@
 #include "source.h"
 
 #include <ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetch_steps.h>
+#include <ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.h>
 #include <ydb/core/tx/limiter/grouped_memory/usage/service.h>
 
 namespace NKikimr::NOlap::NReader::NSimple {
@@ -42,14 +43,15 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::DoGetColumnsFetchingPlan(c
             needShardingFilter = true;
         }
     }
+    const bool preventDuplicates = GetReadMetadata()->GetDeduplicationPolicy() == EDeduplicationPolicy::PREVENT_DUPLICATES;
     {
         auto& result = CacheFetchingScripts[needSnapshots ? 1 : 0][partialUsageByPK ? 1 : 0][useIndexes ? 1 : 0][needShardingFilter ? 1 : 0]
-                                           [hasDeletions ? 1 : 0];
+                                           [hasDeletions ? 1 : 0][preventDuplicates ? 1 : 0];
         if (result.NeedInitialization()) {
             TGuard<TMutex> g(Mutex);
             if (auto gInit = result.StartInitialization()) {
                 gInit->InitializationFinished(
-                    BuildColumnsFetchingPlan(needSnapshots, partialUsageByPK, useIndexes, needShardingFilter, hasDeletions));
+                    BuildColumnsFetchingPlan(needSnapshots, partialUsageByPK, useIndexes, needShardingFilter, hasDeletions, preventDuplicates));
             }
             AFL_VERIFY(!result.NeedInitialization());
         }
@@ -58,7 +60,7 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::DoGetColumnsFetchingPlan(c
 }
 
 std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(const bool needSnapshots, const bool partialUsageByPredicateExt,
-    const bool /*useIndexes*/, const bool needFilterSharding, const bool needFilterDeletion) const {
+    const bool /*useIndexes*/, const bool needFilterSharding, const bool needFilterDeletion, const bool preventDuplicates) const {
     const bool partialUsageByPredicate = partialUsageByPredicateExt && GetPredicateColumns()->GetColumnsCount();
 
     NCommon::TFetchingScriptBuilder acc(*this);
@@ -91,6 +93,9 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(c
             acc.AddAssembleStep(*GetSpecColumns(), "SPEC", NArrow::NSSA::IMemoryCalculationPolicy::EStage::Filter, false);
             acc.AddStep(std::make_shared<TSnapshotFilter>());
         }
+        if (preventDuplicates) {
+            acc.AddStep(std::make_shared<TDuplicateFilter>());
+        }
         const auto& chainProgram = GetReadMetadata()->GetProgram().GetChainVerified();
         acc.AddStep(std::make_shared<NCommon::TProgramStep>(chainProgram));
     }
@@ -99,8 +104,18 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(c
     return std::move(acc).Build();
 }
 
-TSpecialReadContext::TSpecialReadContext(const std::shared_ptr<TReadContext>& commonContext)
-    : TBase(commonContext) {
+void TSpecialReadContext::RegisterActors() {
+    AFL_VERIFY(!DuplicatesManager);
+    if (GetReadMetadata()->GetDeduplicationPolicy() == EDeduplicationPolicy::PREVENT_DUPLICATES) {
+        DuplicatesManager = NActors::TActivationContext::Register(new NDuplicateFiltering::TDuplicateManager(*this));
+    }
+}
+
+void TSpecialReadContext::UnregisterActors() {
+    if (DuplicatesManager) {
+        NActors::TActivationContext::AsActorContext().Send(DuplicatesManager, new NActors::TEvents::TEvPoison);
+        DuplicatesManager = TActorId();
+    }
 }
 
 TString TSpecialReadContext::ProfileDebugString() const {
@@ -109,8 +124,8 @@ TString TSpecialReadContext::ProfileDebugString() const {
         return (val & (1 << pos)) ? 1 : 0;
     };
 
-    for (ui32 i = 0; i < (1 << 5); ++i) {
-        auto& script = CacheFetchingScripts[GetBit(i, 0)][GetBit(i, 1)][GetBit(i, 2)][GetBit(i, 3)][GetBit(i, 4)];
+    for (ui32 i = 0; i < (1 << 6); ++i) {
+        auto& script = CacheFetchingScripts[GetBit(i, 0)][GetBit(i, 1)][GetBit(i, 2)][GetBit(i, 3)][GetBit(i, 4)][GetBit(i, 5)];
         if (script.HasScript()) {
             sb << script.ProfileDebugString() << ";";
         }
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.h b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.h
index c1859a3062d7..cb9b07b98347 100644
--- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.h
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.h
@@ -11,18 +11,22 @@
 namespace NKikimr::NOlap::NReader::NSimple {
 
 class IDataSource;
+class TSourceConstructor;
 using TColumnsSet = NCommon::TColumnsSet;
 using TColumnsSetIds = NCommon::TColumnsSetIds;
 using EMemType = NCommon::EMemType;
 using TFetchingScript = NCommon::TFetchingScript;
 
-class TSpecialReadContext: public NCommon::TSpecialReadContext {
+class TSpecialReadContext: public NCommon::TSpecialReadContext, TNonCopyable {
 private:
     using TBase = NCommon::TSpecialReadContext;
+    TActorId DuplicatesManager = TActorId();
+
+private:
     std::shared_ptr<TFetchingScript> BuildColumnsFetchingPlan(const bool needSnapshots, const bool partialUsageByPredicateExt,
-        const bool useIndexes, const bool needFilterSharding, const bool needFilterDeletion) const;
+        const bool useIndexes, const bool needFilterSharding, const bool needFilterDeletion, const bool needFilterDuplicates) const;
     TMutex Mutex;
-    std::array<std::array<std::array<std::array<std::array<NCommon::TFetchingScriptOwner, 2>, 2>, 2>, 2>, 2> CacheFetchingScripts;
+    std::array<std::array<std::array<std::array<std::array<std::array<NCommon::TFetchingScriptOwner, 2>, 2>, 2>, 2>, 2>, 2> CacheFetchingScripts;
     std::shared_ptr<TFetchingScript> AskAccumulatorsScript;
 
     virtual std::shared_ptr<TFetchingScript> DoGetColumnsFetchingPlan(const std::shared_ptr<NCommon::IDataSource>& source) override;
@@ -30,7 +34,21 @@ class TSpecialReadContext: public NCommon::TSpecialReadContext {
 public:
     virtual TString ProfileDebugString() const override;
 
-    TSpecialReadContext(const std::shared_ptr<TReadContext>& commonContext);
+    void RegisterActors();
+    void UnregisterActors();
+
+    const TActorId& GetDuplicatesManagerVerified() const {
+        AFL_VERIFY(DuplicatesManager);
+        return DuplicatesManager;
+    }
+
+    TSpecialReadContext(const std::shared_ptr<TReadContext>& commonContext)
+        : TBase(commonContext) {
+    }
+
+    ~TSpecialReadContext() {
+        AFL_VERIFY(!DuplicatesManager);
+    }
 };
 
 }   // namespace NKikimr::NOlap::NReader::NSimple
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.cpp b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.cpp
index 23447a08d49d..3db14fb1c9a4 100644
--- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.cpp
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.cpp
@@ -3,6 +3,7 @@
 #include "source.h"
 
 #include <ydb/core/tx/columnshard/engines/filter.h>
+#include <ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.h>
 #include <ydb/core/tx/conveyor/usage/service.h>
 #include <ydb/core/tx/limiter/grouped_memory/usage/service.h>
 
@@ -203,4 +204,37 @@ TConclusion<bool> TPrepareResultStep::DoExecuteInplace(const std::shared_ptr<IDa
     }
 }
 
+void TDuplicateFilter::TFilterSubscriber::OnFilterReady(NArrow::TColumnFilter&& filter) {
+    if (auto source = Source.lock()) {
+        AFL_TRACE(NKikimrServices::TX_COLUMNSHARD_SCAN)("event", "fetch_filter")("source", source->GetSourceId())("filter", filter.DebugString());
+        if (source->GetContext()->IsAborted()) {
+            return;
+        }
+        if (const std::shared_ptr<NArrow::TColumnFilter> appliedFilter = source->GetStageData().GetAppliedFilter()) {
+            filter = filter.ApplyFilterFrom(*appliedFilter);
+        }
+        source->MutableStageData().AddFilter(std::move(filter));
+        Step.Next();
+        auto task = std::make_shared<TStepAction>(source, std::move(Step), source->GetContext()->GetCommonContext()->GetScanActorId(), false);
+        NConveyor::TScanServiceOperator::SendTaskToExecute(task, source->GetContext()->GetCommonContext()->GetConveyorProcessId());
+    }
+}
+
+void TDuplicateFilter::TFilterSubscriber::OnFailure(const TString& reason) {
+    if (auto source = Source.lock()) {
+        source->GetContext()->GetCommonContext()->AbortWithError("cannot build duplicate filter: " + reason);
+    }
+}
+
+TDuplicateFilter::TFilterSubscriber::TFilterSubscriber(const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& step)
+    : Source(source)
+    , Step(step)
+    , TaskGuard(source->GetContext()->GetCommonContext()->GetCounters().GetFilterFetchingGuard()) {
+}
+
+TConclusion<bool> TDuplicateFilter::DoExecuteInplace(const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& step) const {
+    source->StartFetchingDuplicateFilter(std::make_shared<TFilterSubscriber>(source, step));
+    return false;
+}
+
 }   // namespace NKikimr::NOlap::NReader::NSimple
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.h b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.h
index d1dcc822b035..3b9da2b28e01 100644
--- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.h
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.h
@@ -4,6 +4,7 @@
 #include <ydb/core/tx/columnshard/engines/reader/common/conveyor_task.h>
 #include <ydb/core/tx/columnshard/engines/reader/common_reader/iterator/columns_set.h>
 #include <ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.h>
+#include <ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.h>
 #include <ydb/core/tx/columnshard/engines/scheme/abstract_scheme.h>
 #include <ydb/core/tx/columnshard/engines/scheme/index_info.h>
 #include <ydb/core/tx/limiter/grouped_memory/usage/abstract.h>
@@ -212,4 +213,28 @@ class TShardingFilter: public IFetchingStep {
     }
 };
 
+class TDuplicateFilter: public IFetchingStep {
+private:
+    using TBase = IFetchingStep;
+
+    class TFilterSubscriber: public NDuplicateFiltering::IFilterSubscriber {
+    private:
+        std::weak_ptr<IDataSource> Source;
+        TFetchingScriptCursor Step;
+        NColumnShard::TCounterGuard TaskGuard;
+
+        virtual void OnFilterReady(NArrow::TColumnFilter&& filter) override;
+        virtual void OnFailure(const TString& reason) override;
+
+    public:
+        TFilterSubscriber(const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& step);
+    };
+
+public:
+    virtual TConclusion<bool> DoExecuteInplace(const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& step) const override;
+    TDuplicateFilter()
+        : TBase("DUPLICATE") {
+    }
+};
+
 }   // namespace NKikimr::NOlap::NReader::NSimple
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/plain_read_data.h b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/plain_read_data.h
index 19c8e14acedf..5a64e9250e90 100644
--- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/plain_read_data.h
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/plain_read_data.h
@@ -19,6 +19,7 @@ class TPlainReadData: public IDataReader, TNonCopyable, NColumnShard::TMonitorin
 
 protected:
     virtual TConclusionStatus DoStart() override {
+        SpecialReadContext->RegisterActors();
         return Scanner->Start();
     }
 
@@ -69,6 +70,7 @@ class TPlainReadData: public IDataReader, TNonCopyable, NColumnShard::TMonitorin
         if (SpecialReadContext->IsActive()) {
             Abort("unexpected on destructor");
         }
+        SpecialReadContext->UnregisterActors();
     }
 };
 
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/source.h b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/source.h
index 0146875d97a5..d2a0d4564339 100644
--- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/source.h
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/source.h
@@ -192,7 +192,7 @@ class IDataSource: public NCommon::IDataSource {
     const TReplaceKeyAdapter& GetStart() const {
         return Start;
     }
-    const TReplaceKeyAdapter GetFinish() const {
+    const TReplaceKeyAdapter& GetFinish() const {
         return Finish;
     }
 
@@ -250,6 +250,12 @@ class IDataSource: public NCommon::IDataSource {
         return DoStartFetchingAccessor(sourcePtr, step);
     }
 
+    void StartFetchingDuplicateFilter(std::shared_ptr<NDuplicateFiltering::IFilterSubscriber>&& subscriber) {
+        NActors::TActivationContext::AsActorContext().Send(
+            std::static_pointer_cast<TSpecialReadContext>(GetContext())->GetDuplicatesManagerVerified(),
+            new NDuplicateFiltering::TEvRequestFilter(*this, std::move(subscriber)));
+    }
+
     virtual TInternalPathId GetPathId() const = 0;
     virtual bool HasIndexes(const std::set<ui32>& indexIds) const = 0;
 
@@ -260,6 +266,9 @@ class IDataSource: public NCommon::IDataSource {
 
     virtual ui64 GetIndexRawBytes(const std::set<ui32>& indexIds) const = 0;
 
+    virtual NArrow::TSimpleRow GetMinPK() const = 0;
+    virtual NArrow::TSimpleRow GetMaxPK() const = 0;
+
     void Abort() {
         DoAbort();
     }
@@ -430,6 +439,14 @@ class TPortionDataSource: public IDataSource {
         return GetStageData().GetPortionAccessor().GetIndexRawBytes(indexIds, false);
     }
 
+    virtual NArrow::TSimpleRow GetMinPK() const override {
+        return Portion->GetMeta().IndexKeyStart();
+    }
+
+    virtual NArrow::TSimpleRow GetMaxPK() const override {
+        return Portion->GetMeta().IndexKeyEnd();
+    }
+
     const TPortionInfo& GetPortionInfo() const {
         return *Portion;
     }
diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/ya.make b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/ya.make
index baff60941f27..37599539e477 100644
--- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/ya.make
+++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/ya.make
@@ -16,6 +16,7 @@ PEERDIR(
     ydb/core/tx/columnshard/engines/reader/common_reader/iterator
     ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/collections
     ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/sync_points
+    ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates
     ydb/core/tx/conveyor/usage
     ydb/core/tx/limiter/grouped_memory/usage
 )
diff --git a/ydb/core/tx/columnshard/engines/reader/transaction/tx_internal_scan.cpp b/ydb/core/tx/columnshard/engines/reader/transaction/tx_internal_scan.cpp
index 14c0cb9ef088..863407ef3262 100644
--- a/ydb/core/tx/columnshard/engines/reader/transaction/tx_internal_scan.cpp
+++ b/ydb/core/tx/columnshard/engines/reader/transaction/tx_internal_scan.cpp
@@ -49,6 +49,7 @@ void TTxInternalScan::Complete(const TActorContext& ctx) {
         read.PathId = request.GetPathId();
         read.LockId = LockId;
         read.ReadNothing = !Self->TablesManager.HasTable(read.PathId);
+        read.DeduplicationPolicy = EDeduplicationPolicy::PREVENT_DUPLICATES;
         std::unique_ptr<IScannerConstructor> scannerConstructor(new NPlain::TIndexScannerConstructor(context));
         read.ColumnIds = request.GetColumnIds();
         if (request.RangesFilter) {


Reviews:
user: login: ivanmorozov333
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-22T10:39:31Z
user: login: dorooleg
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-27T17:07:31Z
user: login: dorooleg
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-27T17:08:55Z
user: login: dorooleg
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-05-27T17:27:46Z
user: login: swalrus1
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-28T09:24:25Z
user: login: swalrus1
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-28T09:25:01Z
user: login: swalrus1
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-28T09:25:21Z
user: login: dorooleg
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-28T11:27:29Z

Review comments:
diff_hunk: @@ -322,6 +331,34 @@ class TMergePolicyOr {
             return filter;
         }
     }
+    static TColumnFilter MergeWithSimple(const bool simpleValue, const TColumnFilter& filter) {
+        return MergeWithSimple(filter, simpleValue);
+    }
+};
+
+class TMergePolicyApplyFilter {
+private:
+public:
+    static bool HasValue(const bool /*a*/, const bool b) {
+        return b;
+    }
+    static bool Calc(const bool a, const bool /*b*/) {
+        return a;
+    }
+    static TColumnFilter MergeWithSimple(const TColumnFilter& filter, const bool simpleValue) {
+        if (simpleValue) {
+            return filter;
+        } else {
+            return TColumnFilter::BuildAllowFilter();
path: ydb/core/formats/arrow/arrow_filter.cpp
user: login: ivanmorozov333
body: !!
created_at: 2025-05-22T09:51:41Z
author_association: COLLABORATOR
diff_hunk: @@ -322,6 +331,34 @@ class TMergePolicyOr {
             return filter;
         }
     }
+    static TColumnFilter MergeWithSimple(const bool simpleValue, const TColumnFilter& filter) {
+        return MergeWithSimple(filter, simpleValue);
+    }
+};
+
+class TMergePolicyApplyFilter {
+private:
+public:
+    static bool HasValue(const bool /*a*/, const bool b) {
+        return b;
+    }
+    static bool Calc(const bool a, const bool /*b*/) {
+        return a;
+    }
+    static TColumnFilter MergeWithSimple(const TColumnFilter& filter, const bool simpleValue) {
+        if (simpleValue) {
+            return filter;
+        } else {
+            return TColumnFilter::BuildAllowFilter();
+        }
+    }
+    static TColumnFilter MergeWithSimple(const bool simpleValue, const TColumnFilter& /*filter*/) {
+        if (simpleValue) {
+            return TColumnFilter::BuildAllowFilter();
path: ydb/core/formats/arrow/arrow_filter.cpp
user: login: ivanmorozov333
body: инициировать Size для дополнительных проверок. сейчас это пропускается
created_at: 2025-05-22T09:53:56Z
author_association: COLLABORATOR
diff_hunk: @@ -340,7 +377,7 @@ class TColumnFilter::TMergerImpl {
         if (Filter1.empty() && Filter2.empty()) {
             return TColumnFilter(TMergePolicy::Calc(Filter1.DefaultFilterValue, Filter2.DefaultFilterValue));
         } else if (Filter1.empty()) {
-            return TMergePolicy::MergeWithSimple(Filter2, Filter1.DefaultFilterValue);
+            return TMergePolicy::MergeWithSimple(Filter1.DefaultFilterValue, Filter2);
path: ydb/core/formats/arrow/arrow_filter.cpp
user: login: ivanmorozov333
body: тест на это
created_at: 2025-05-22T09:54:39Z
author_association: COLLABORATOR
diff_hunk: @@ -359,7 +396,7 @@ class TColumnFilter::TMergerImpl {
 
             while (it1 != Filter1.Filter.cend() && it2 != Filter2.Filter.cend()) {
                 const ui32 delta = TColumnFilter::CrossSize(pos2, pos2 + *it2, pos1, pos1 + *it1);
-                if (delta) {
+                if (delta && TMergePolicy::HasValue(curValue1, curValue2)) {
path: ydb/core/formats/arrow/arrow_filter.cpp
user: login: ivanmorozov333
body: сделай constexpr
created_at: 2025-05-22T09:55:07Z
author_association: COLLABORATOR
diff_hunk: @@ -359,7 +396,7 @@ class TColumnFilter::TMergerImpl {
 
             while (it1 != Filter1.Filter.cend() && it2 != Filter2.Filter.cend()) {
                 const ui32 delta = TColumnFilter::CrossSize(pos2, pos2 + *it2, pos1, pos1 + *it1);
-                if (delta) {
+                if (delta && TMergePolicy::HasValue(curValue1, curValue2)) {
path: ydb/core/formats/arrow/arrow_filter.cpp
user: login: ivanmorozov333
body: if constexpr (TMergePolicy::HasValue(curValue1, curValue2)) {
    if (delta) {
       ...
    }
}
created_at: 2025-05-22T09:55:39Z
author_association: COLLABORATOR
diff_hunk: @@ -405,10 +442,15 @@ TColumnFilter TColumnFilter::Or(const TColumnFilter& extFilter) const {
     return TMergerImpl(*this, extFilter).Merge<TMergePolicyOr>();
 }
 
+TColumnFilter TColumnFilter::ApplyFilter(const TColumnFilter& extFilter) const {
path: ydb/core/formats/arrow/arrow_filter.cpp
user: login: ivanmorozov333
body: ApplyFilterFrom
created_at: 2025-05-22T09:57:01Z
author_association: COLLABORATOR
diff_hunk: @@ -265,6 +265,7 @@ class TColumnFilter {
 
     TColumnFilter And(const TColumnFilter& extFilter) const Y_WARN_UNUSED_RESULT;
path: ydb/core/formats/arrow/arrow_filter.h
user: login: ivanmorozov333
body: Y_WARN_UNUSED_RESULT -> [[nodiscard]]
created_at: 2025-05-22T09:58:31Z
author_association: COLLABORATOR
diff_hunk: @@ -452,7 +452,18 @@ class TAccessorsCollection {
         return UseFilter ? nullptr : Filter;
     }
 
+    TColumnFilter FullToDataFilter(TColumnFilter filter) const {
path: ydb/core/formats/arrow/program/collection.h
user: login: ivanmorozov333
body: либо const T&, либо T&&
created_at: 2025-05-22T09:59:25Z
author_association: COLLABORATOR
diff_hunk: @@ -58,6 +58,7 @@ class TReadMetadataBase {
     std::shared_ptr<ISnapshotSchema> ResultIndexSchema;
     ui64 TxId = 0;
     std::optional<ui64> LockId;
+    EDeduplicationPolicy DeduplicationPolicy = EDeduplicationPolicy::NO_DUPLICATES;
path: ydb/core/tx/columnshard/engines/reader/abstract/read_metadata.h
user: login: ivanmorozov333
body: пока не до конца все проверили по умолчанию ALLOW_DUPLICATES
потом - DENY_DUPLICATES
created_at: 2025-05-22T10:04:04Z
author_association: COLLABORATOR
diff_hunk: @@ -157,6 +157,10 @@ class TFetchedData {
         Table->Clear();
     }
 
+    NArrow::TColumnFilter FullToDataFilter(NArrow::TColumnFilter filter) const {
path: ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetched_data.h
user: login: ivanmorozov333
body: copy
created_at: 2025-05-22T10:07:06Z
author_association: COLLABORATOR
diff_hunk: @@ -157,6 +157,10 @@ class TFetchedData {
         Table->Clear();
     }
 
+    NArrow::TColumnFilter FullToDataFilter(NArrow::TColumnFilter filter) const {
path: ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetched_data.h
user: login: ivanmorozov333
body: &&
created_at: 2025-05-22T10:07:26Z
author_association: COLLABORATOR
diff_hunk: @@ -452,7 +452,18 @@ class TAccessorsCollection {
         return UseFilter ? nullptr : Filter;
     }
 
+    TColumnFilter FullToDataFilter(TColumnFilter filter) const {
path: ydb/core/formats/arrow/program/collection.h
user: login: ivanmorozov333
body: лучше снаружи использовать GetAppliedFilter (может, GetAppliedFilterDef)
created_at: 2025-05-22T10:10:40Z
author_association: COLLABORATOR
diff_hunk: @@ -203,4 +204,35 @@ TConclusion<bool> TPrepareResultStep::DoExecuteInplace(const std::shared_ptr<IDa
     }
 }
 
+void TDuplicateFilter::TFilterSubscriber::OnFilterReady(const NArrow::TColumnFilter& filter) {
+    if (auto source = Source.lock()) {
+        AFL_TRACE(NKikimrServices::TX_COLUMNSHARD_SCAN)("event", "fetch_filter")("source", source->GetSourceId())("filter", filter.DebugString());
+        if (source->GetContext()->IsAborted()) {
+            return;
+        }
+        source->MutableStageData().AddFilter(source->GetStageData().FullToDataFilter(filter));
+        Step.Next();
+        auto task = std::make_shared<TStepAction>(source, std::move(Step), source->GetContext()->GetCommonContext()->GetScanActorId(), false);
+        NConveyor::TScanServiceOperator::SendTaskToExecute(task, source->GetContext()->GetCommonContext()->GetConveyorProcessId());
+    }
+}
+
+void TDuplicateFilter::TFilterSubscriber::OnFailure(const TString& reason) {
+    if (auto source = Source.lock()) {
+        source->GetContext()->GetCommonContext()->AbortWithError("cannot build duplicate filter: " + reason);
+    }
+}
+
+TDuplicateFilter::TFilterSubscriber::TFilterSubscriber(const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& step)
+    : Source(source)
+    , Step(step)
+    , TaskGuard(source->GetContext()->GetCommonContext()->GetCounters().GetFilterFetchingGuard()) {
+}
+
+TConclusion<bool> TDuplicateFilter::DoExecuteInplace(const std::shared_ptr<IDataSource>& source, const TFetchingScriptCursor& step) const {
+    NActors::TActivationContext::AsActorContext().Send(source->GetContextAsVerified<TSpecialReadContext>()->GetDuplicatesManager(),
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/fetching.cpp
user: login: ivanmorozov333
body: лучше внести логику в IDataSource
created_at: 2025-05-22T10:18:05Z
author_association: COLLABORATOR
diff_hunk: @@ -381,6 +381,13 @@ class IDataSource: public ICursorEntity, public NArrow::NSSA::IDataSource {
         AFL_VERIFY(!!StageResult);
         return *StageResult;
     }
+
+    template <typename T>
+    std::shared_ptr<T> GetContextAsVerified() const {
path: ydb/core/tx/columnshard/engines/reader/common_reader/iterator/source.h
user: login: ivanmorozov333
body: лучше логику в IDataSource
created_at: 2025-05-22T10:18:15Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,32 @@
+#pragma once
+
+#include <ydb/core/formats/arrow/arrow_filter.h>
+#include <ydb/core/tx/columnshard/columnshard_private_events.h>
+#include <ydb/core/tx/columnshard/engines/reader/common_reader/iterator/source.h>
+
+#include <ydb/library/actors/core/event_local.h>
+
+namespace NKikimr::NOlap::NReader::NSimple {
+
+class IDataSource;
+
+class IFilterSubscriber {
path: ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.h
user: login: ivanmorozov333
body: все фильтры данной тематики, как и все объекты должны быть либо в NDuplicationsCleaning либо с соответствующим префиксом/суффиксом
created_at: 2025-05-22T10:20:22Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,32 @@
+#pragma once
+
+#include <ydb/core/formats/arrow/arrow_filter.h>
+#include <ydb/core/tx/columnshard/columnshard_private_events.h>
+#include <ydb/core/tx/columnshard/engines/reader/common_reader/iterator/source.h>
+
+#include <ydb/library/actors/core/event_local.h>
+
+namespace NKikimr::NOlap::NReader::NSimple {
+
+class IDataSource;
+
+class IFilterSubscriber {
+public:
+    virtual void OnFilterReady(const NArrow::TColumnFilter&) = 0;
+    virtual void OnFailure(const TString& reason) = 0;
+    virtual ~IFilterSubscriber() = default;
+};
+
+class TEvRequestFilter: public NActors::TEventLocal<TEvRequestFilter, NColumnShard::TEvPrivate::EvRequestFilter> {
+private:
+    YDB_READONLY_DEF(std::shared_ptr<IDataSource>, Source);
path: ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/events.h
user: login: ivanmorozov333
body: избыточно. занеси необходимые данные в IFilterSubscriber
created_at: 2025-05-22T10:23:16Z
author_association: COLLABORATOR
diff_hunk: @@ -0,0 +1,15 @@
+#include "manager.h"
+
+#include <ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.h>
+
+namespace NKikimr::NOlap::NReader::NSimple {
+
+TDuplicateManager::TDuplicateManager(const TSpecialReadContext& /*context*/)
+    : TActor(&TDuplicateManager::StateMain) {
+}
+
+void TDuplicateManager::Handle(const TEvRequestFilter::TPtr& ev) {
+    ev->Get()->GetSubscriber()->OnFilterReady(NArrow::TColumnFilter::BuildAllowFilter());
path: ydb/core/tx/columnshard/engines/reader/simple_reader/duplicates/manager.cpp
user: login: ivanmorozov333
body: попробуй с размером создать
created_at: 2025-05-22T10:24:30Z
author_association: COLLABORATOR
diff_hunk: @@ -42,14 +43,15 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::DoGetColumnsFetchingPlan(c
             needShardingFilter = true;
         }
     }
+    const bool needDeduplication = GetReadMetadata()->GetDeduplicationPolicy() == EDeduplicationPolicy::NO_DUPLICATES;
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
user: login: ivanmorozov333
body: ля ля ля
created_at: 2025-05-22T10:25:32Z
author_association: COLLABORATOR
diff_hunk: @@ -91,6 +93,9 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(c
             acc.AddAssembleStep(*GetSpecColumns(), "SPEC", NArrow::NSSA::IMemoryCalculationPolicy::EStage::Filter, false);
             acc.AddStep(std::make_shared<TSnapshotFilter>());
         }
+        if (needFilterDuplicates) {
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
user: login: ivanmorozov333
body: записать и запомнить перенос в граф после стадии фильтрации
created_at: 2025-05-22T10:29:37Z
author_association: COLLABORATOR
diff_hunk: @@ -101,6 +106,9 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(c
 
 TSpecialReadContext::TSpecialReadContext(const std::shared_ptr<TReadContext>& commonContext)
     : TBase(commonContext) {
+    if (GetReadMetadata()->GetDeduplicationPolicy() == EDeduplicationPolicy::NO_DUPLICATES) {
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
user: login: ivanmorozov333
body: сделать в контексте виртуальную функцию InitializeActors
вызвать ее из bootstrap Scan Actor
created_at: 2025-05-22T10:31:29Z
author_association: COLLABORATOR
diff_hunk: @@ -101,6 +106,9 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(c
 
 TSpecialReadContext::TSpecialReadContext(const std::shared_ptr<TReadContext>& commonContext)
     : TBase(commonContext) {
+    if (GetReadMetadata()->GetDeduplicationPolicy() == EDeduplicationPolicy::NO_DUPLICATES) {
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
user: login: ivanmorozov333
body: или, вообще, прямо в bootstrap безусловно создавать актор (использовать не заставляю)))
created_at: 2025-05-22T10:32:56Z
author_association: COLLABORATOR
diff_hunk: @@ -11,21 +11,31 @@
 namespace NKikimr::NOlap::NReader::NSimple {
 
 class IDataSource;
+class TSourceConstructor;
 using TColumnsSet = NCommon::TColumnsSet;
 using TColumnsSetIds = NCommon::TColumnsSetIds;
 using EMemType = NCommon::EMemType;
 using TFetchingScript = NCommon::TFetchingScript;
 
-class TSpecialReadContext: public NCommon::TSpecialReadContext {
+class TSpecialReadContext: public NCommon::TSpecialReadContext, TNonCopyable {
 private:
     using TBase = NCommon::TSpecialReadContext;
+    YDB_READONLY(TActorId, DuplicatesManager, TActorId());
+
+private:
     std::shared_ptr<TFetchingScript> BuildColumnsFetchingPlan(const bool needSnapshots, const bool partialUsageByPredicateExt,
-        const bool useIndexes, const bool needFilterSharding, const bool needFilterDeletion) const;
+        const bool useIndexes, const bool needFilterSharding, const bool needFilterDeletion, const bool needFilterDuplicates) const;
     TMutex Mutex;
-    std::array<std::array<std::array<std::array<std::array<NCommon::TFetchingScriptOwner, 2>, 2>, 2>, 2>, 2> CacheFetchingScripts;
+    std::array<std::array<std::array<std::array<std::array<std::array<NCommon::TFetchingScriptOwner, 2>, 2>, 2>, 2>, 2>, 2> CacheFetchingScripts;
     std::shared_ptr<TFetchingScript> AskAccumulatorsScript;
 
     virtual std::shared_ptr<TFetchingScript> DoGetColumnsFetchingPlan(const std::shared_ptr<NCommon::IDataSource>& source) override;
+    virtual void DoAbort() override {
+        if (DuplicatesManager) {
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.h
user: login: ivanmorozov333
body: аналогично в ScanActor
created_at: 2025-05-22T10:33:32Z
author_association: COLLABORATOR
diff_hunk: @@ -75,26 +75,28 @@ void TTxScan::Complete(const TActorContext& ctx) {
         read.ReadNothing = !Self->TablesManager.HasTable(read.PathId);
         read.TableName = table;
 
-        const TString defaultReader =
-            [&]() {
-            const TString defGlobal =
-                AppDataVerified().ColumnShardConfig.GetReaderClassName() ? AppDataVerified().ColumnShardConfig.GetReaderClassName() : "PLAIN";
+        const TString defaultClassName = AppDataVerified().FeatureFlags.GetEnableDuplicateFilterInColumnShard() ? "SIMPLE" : "PLAIN";
path: ydb/core/tx/columnshard/engines/reader/transaction/tx_scan.cpp
user: login: ivanmorozov333
body: обработать флаг в https://github.com/ydb-platform/ydb/pull/18608/files#diff-52b506c43d380fadb0abfa5c264450cbac0b88281b6b4d8693a1370306eac3ddR46
created_at: 2025-05-22T10:39:04Z
author_association: COLLABORATOR
diff_hunk: @@ -75,26 +75,28 @@ void TTxScan::Complete(const TActorContext& ctx) {
         read.ReadNothing = !Self->TablesManager.HasTable(read.PathId);
         read.TableName = table;
 
-        const TString defaultReader =
-            [&]() {
-            const TString defGlobal =
-                AppDataVerified().ColumnShardConfig.GetReaderClassName() ? AppDataVerified().ColumnShardConfig.GetReaderClassName() : "PLAIN";
+        const TString defaultClassName = AppDataVerified().FeatureFlags.GetEnableDuplicateFilterInColumnShard() ? "SIMPLE" : "PLAIN";
path: ydb/core/tx/columnshard/engines/reader/transaction/tx_scan.cpp
user: login: ivanmorozov333
body: тогда ничего не меняется тут
created_at: 2025-05-22T10:39:26Z
author_association: COLLABORATOR
diff_hunk: @@ -49,6 +49,7 @@ void TTxInternalScan::Complete(const TActorContext& ctx) {
         read.PathId = request.GetPathId();
         read.LockId = LockId;
         read.ReadNothing = !Self->TablesManager.HasTable(read.PathId);
+        read.DeduplicationPolicy = EDeduplicationPolicy::PREVENT_DUPLICATES;
path: ydb/core/tx/columnshard/engines/reader/transaction/tx_internal_scan.cpp
user: login: dorooleg
body: А в обычном скане policy позже будет выбираться?
created_at: 2025-05-27T17:07:31Z
author_association: COLLABORATOR
diff_hunk: @@ -211,4 +211,5 @@ message TFeatureFlags {
     optional bool EnableNodeBrokerDeltaProtocol = 185 [default = false];
     optional bool EnableAccessToIndexImplTables = 186 [default = false];
     optional bool EnableAddUniqueIndex = 187 [default = false];
+    optional bool EnableDuplicateFilterInColumnShard = 188 [default = false];
path: ydb/core/protos/feature_flags.proto
user: login: dorooleg
body: А этот флаг нужен? Не вижу где он используется
created_at: 2025-05-27T17:08:55Z
author_association: COLLABORATOR
diff_hunk: @@ -99,8 +104,12 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(c
     return std::move(acc).Build();
 }
 
-TSpecialReadContext::TSpecialReadContext(const std::shared_ptr<TReadContext>& commonContext)
-    : TBase(commonContext) {
+void TSpecialReadContext::RegisterActors() {
+    AFL_VERIFY(!DuplicatesManager);
+    if (GetReadMetadata()->GetDeduplicationPolicy() == EDeduplicationPolicy::PREVENT_DUPLICATES) {
+        DuplicatesManager =
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
user: login: dorooleg
body: А где ему PoisonPill отправляется?
created_at: 2025-05-27T17:27:46Z
author_association: COLLABORATOR
diff_hunk: @@ -211,4 +211,5 @@ message TFeatureFlags {
     optional bool EnableNodeBrokerDeltaProtocol = 185 [default = false];
     optional bool EnableAccessToIndexImplTables = 186 [default = false];
     optional bool EnableAddUniqueIndex = 187 [default = false];
+    optional bool EnableDuplicateFilterInColumnShard = 188 [default = false];
path: ydb/core/protos/feature_flags.proto
user: login: swalrus1
body: В этом ПРе не используется, убрал
created_at: 2025-05-28T09:24:25Z
author_association: CONTRIBUTOR
diff_hunk: @@ -49,6 +49,7 @@ void TTxInternalScan::Complete(const TActorContext& ctx) {
         read.PathId = request.GetPathId();
         read.LockId = LockId;
         read.ReadNothing = !Self->TablesManager.HasTable(read.PathId);
+        read.DeduplicationPolicy = EDeduplicationPolicy::PREVENT_DUPLICATES;
path: ydb/core/tx/columnshard/engines/reader/transaction/tx_internal_scan.cpp
user: login: swalrus1
body: Да, и будет настраиваться через свойства таблицы
created_at: 2025-05-28T09:25:01Z
author_association: CONTRIBUTOR
diff_hunk: @@ -99,8 +104,12 @@ std::shared_ptr<TFetchingScript> TSpecialReadContext::BuildColumnsFetchingPlan(c
     return std::move(acc).Build();
 }
 
-TSpecialReadContext::TSpecialReadContext(const std::shared_ptr<TReadContext>& commonContext)
-    : TBase(commonContext) {
+void TSpecialReadContext::RegisterActors() {
+    AFL_VERIFY(!DuplicatesManager);
+    if (GetReadMetadata()->GetDeduplicationPolicy() == EDeduplicationPolicy::PREVENT_DUPLICATES) {
+        DuplicatesManager =
path: ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/context.cpp
user: login: swalrus1
body: Нигде и это баг, исправил
created_at: 2025-05-28T09:25:21Z
author_association: CONTRIBUTOR

PR comments:
user: login: github-actions[bot]
created_at: 2025-05-21T09:45:09Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=43651 -->
:white_circle: `2025-05-21 09:45:08 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15158874432/job/42620095149) **linux-x86_64-relwithdebinfo** for 86766b9e18ea7d1afd236d75beccfb88b599bb77 has started.
:white_circle: `2025-05-21 09:45:20 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/index.html)
:white_circle: `2025-05-21 09:48:44 UTC` ya make is running...
:yellow_circle: `2025-05-21 12:00:32 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/164788) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [30247](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_1/ya-test.html) | [27404](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [158](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_1/ya-test.html#FAIL) | [2641](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_1/ya-test.html#SKIP) | [44](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 12:03:10 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-21 12:37:47 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/164883) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [736 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_2/ya-test.html) | [547](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [150](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_2/ya-test.html#FAIL) | 0 | [39](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 12:38:00 UTC` ya make is running... (failed tests rerun, try 3)
:red_circle: `2025-05-21 13:12:09 UTC` Some tests failed, follow the links below.

[Test history](https://nebius.testmo.net/automation/runs/view/164914) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [365 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_3/ya-test.html) | [176](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_3/ya-test.html#PASS) | 0 | [146](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_3/ya-test.html#FAIL) | [6](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_3/ya-test.html#SKIP) | [37](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-21 13:12:18 UTC` Build successful.
:yellow_circle: `2025-05-21 13:12:46 UTC` ydbd size **2.2 GiB** changed* by **+133.4 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 2ab1e1916633d2f5be41e19ee8d2fb3a8dd8523b |merge: 86766b9e18ea7d1afd236d75beccfb88b599bb77 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 355 499 160** Bytes |**2 355 635 720** Bytes|**+133.4 KiB**|**+0.006%**|
|ydbd stripped size|**494 879 400** Bytes|**494 896 744** Bytes|**+16.9 KiB**|**+0.004%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/2ab1e1916633d2f5be41e19ee8d2fb3a8dd8523b..86766b9e18ea7d1afd236d75beccfb88b599bb77)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-21T09:45:11Z
body: <!-- status pr=18608, validate PR description status -->
:green_circle: `2025-05-21 09:45:10 UTC` The validation of the Pull Request description is successful.
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-21T09:45:26Z
body: <!-- status pr=18608, preset=release-asan, run=43651 -->
:white_circle: `2025-05-21 09:45:25 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15158874432/job/42620095148) **linux-x86_64-release-asan** for 86766b9e18ea7d1afd236d75beccfb88b599bb77 has started.
:white_circle: `2025-05-21 09:45:36 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/index.html)
:white_circle: `2025-05-21 09:48:55 UTC` ya make is running...
:yellow_circle: `2025-05-21 12:18:31 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/164789) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [15277](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_1/ya-test.html) | [15043](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [192](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [13](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [29](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 12:19:56 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-21 13:05:26 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/164905) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/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/15158874432/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1603 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_2/ya-test.html) | [1418](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [155](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [3](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [27](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 13:05:44 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-21 13:48:30 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/164937) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/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/15158874432/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/15158874432/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1272 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_3/ya-test.html) | [1076](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [154](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [19](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [23](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15158874432/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-21 13:48:45 UTC` Build successful.
:yellow_circle: `2025-05-21 13:49:25 UTC` ydbd size **3.9 GiB** changed* by **+224.8 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 2ab1e1916633d2f5be41e19ee8d2fb3a8dd8523b |merge: 86766b9e18ea7d1afd236d75beccfb88b599bb77 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 143 682 256** Bytes |**4 143 912 424** Bytes|**+224.8 KiB**|**+0.006%**|
|ydbd stripped size|**1 438 166 488** Bytes|**1 438 229 656** Bytes|**+61.7 KiB**|**+0.004%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/2ab1e1916633d2f5be41e19ee8d2fb3a8dd8523b..86766b9e18ea7d1afd236d75beccfb88b599bb77)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-21T15:09:09Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=43703 -->
:white_circle: `2025-05-21 15:09:09 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15165744873/job/42643267277) **linux-x86_64-relwithdebinfo** for 35a565732d3613ce8c968b9c0e5e43550104eef6 has started.
:white_circle: `2025-05-21 15:09:20 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/index.html)
:white_circle: `2025-05-21 15:12:45 UTC` ya make is running...
:yellow_circle: `2025-05-21 17:35:41 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/165058) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [30331](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_1/ya-test.html) | [27552](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [97](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_1/ya-test.html#FAIL) | [2641](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_1/ya-test.html#SKIP) | [41](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 17:38:14 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-21 18:30:04 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/165162) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [419 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_2/ya-test.html) | [295](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [92](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_2/ya-test.html#FAIL) | 0 | [32](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 18:30:16 UTC` ya make is running... (failed tests rerun, try 3)
:red_circle: `2025-05-21 19:20:42 UTC` Some tests failed, follow the links below.

[Test history](https://nebius.testmo.net/automation/runs/view/165210) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [267 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_3/ya-test.html) | [148](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_3/ya-test.html#PASS) | 0 | [90](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_3/ya-test.html#FAIL) | 0 | [29](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-21 19:20:51 UTC` Build successful.
:yellow_circle: `2025-05-21 19:21:16 UTC` ydbd size **2.2 GiB** changed* by **+137.5 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d2cd27bc45b562a8155c928ea3447220d81b9fdd |merge: 35a565732d3613ce8c968b9c0e5e43550104eef6 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 356 547 704** Bytes |**2 356 688 472** Bytes|**+137.5 KiB**|**+0.006%**|
|ydbd stripped size|**495 067 976** Bytes|**495 089 480** Bytes|**+21.0 KiB**|**+0.004%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d2cd27bc45b562a8155c928ea3447220d81b9fdd..35a565732d3613ce8c968b9c0e5e43550104eef6)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-21T15:11:35Z
body: <!-- status pr=18608, preset=release-asan, run=43703 -->
:white_circle: `2025-05-21 15:11:34 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15165744873/job/42643267274) **linux-x86_64-release-asan** for 35a565732d3613ce8c968b9c0e5e43550104eef6 has started.
:white_circle: `2025-05-21 15:11:45 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/index.html)
:white_circle: `2025-05-21 15:15:01 UTC` ya make is running...
:yellow_circle: `2025-05-21 17:40:43 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/165059) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [15359](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_1/ya-test.html) | [15109](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [200](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [23](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [27](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 17:42:07 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-21 18:29: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/165163) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/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/15165744873/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1352 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_2/ya-test.html) | [1197](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [114](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [21](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [20](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-21 18:29:57 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-21 19:14:39 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/165209) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/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/15165744873/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/15165744873/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1224 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_3/ya-test.html) | [1066](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [121](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [16](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [21](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15165744873/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-21 19:14:53 UTC` Build successful.
:yellow_circle: `2025-05-21 19:15:25 UTC` ydbd size **3.9 GiB** changed* by **+232.8 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d2cd27bc45b562a8155c928ea3447220d81b9fdd |merge: 35a565732d3613ce8c968b9c0e5e43550104eef6 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 145 540 392** Bytes |**4 145 778 744** Bytes|**+232.8 KiB**|**+0.006%**|
|ydbd stripped size|**1 438 771 160** Bytes|**1 438 842 648** Bytes|**+69.8 KiB**|**+0.005%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d2cd27bc45b562a8155c928ea3447220d81b9fdd..35a565732d3613ce8c968b9c0e5e43550104eef6)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-22T08:02:01Z
body: <!-- status pr=18608, preset=release-asan, run=43762 -->
:white_circle: `2025-05-22 08:02:00 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15181159037/job/42690894072) **linux-x86_64-release-asan** for c9edb948143658c1810fdf0356953eea86a0a1c4 has started.
:white_circle: `2025-05-22 08:02:35 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/index.html)
:white_circle: `2025-05-22 08:06:32 UTC` ya make is running...
:yellow_circle: `2025-05-22 10:23:44 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/165474) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [15380](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_1/ya-test.html) | [15223](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [85](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [48](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [24](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-22 10:25:07 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-22 10:58:15 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/165561) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/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/15181159037/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1552 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_2/ya-test.html) | [1456](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [56](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [18](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [22](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-22 10:58:32 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-22 11:26:43 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/165581) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/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/15181159037/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/15181159037/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1125 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_3/ya-test.html) | [1048](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [45](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [11](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [21](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-22 11:26:57 UTC` Build successful.
:yellow_circle: `2025-05-22 11:27:28 UTC` ydbd size **3.9 GiB** changed* by **+224.8 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 832745c71bc3ced584b5b877d259952fa1db8d6f |merge: c9edb948143658c1810fdf0356953eea86a0a1c4 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 145 027 872** Bytes |**4 145 258 040** Bytes|**+224.8 KiB**|**+0.006%**|
|ydbd stripped size|**1 439 082 360** Bytes|**1 439 145 656** Bytes|**+61.8 KiB**|**+0.004%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/832745c71bc3ced584b5b877d259952fa1db8d6f..c9edb948143658c1810fdf0356953eea86a0a1c4)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-22T08:02:07Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=43762 -->
:white_circle: `2025-05-22 08:02:07 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15181159037/job/42690894076) **linux-x86_64-relwithdebinfo** for c9edb948143658c1810fdf0356953eea86a0a1c4 has started.
:white_circle: `2025-05-22 08:02:17 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/index.html)
:white_circle: `2025-05-22 08:05:38 UTC` ya make is running...
:yellow_circle: `2025-05-22 10:07:21 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/165472) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [30353](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_1/ya-test.html) | [27666](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_1/ya-test.html#FAIL) | [2643](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_1/ya-test.html#SKIP) | [43](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-22 10:09:51 UTC` ya make is running... (failed tests rerun, try 2)
:green_circle: `2025-05-22 10:34:53 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/165547) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [571 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_2/ya-test.html) | [536](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_2/ya-test.html#PASS) | 0 | 0 | [6](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_2/ya-test.html#SKIP) | [29](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15181159037/ya-x86-64/try_2/ya-test.html#MUTE) |

:green_circle: `2025-05-22 10:35:04 UTC` Build successful.
:yellow_circle: `2025-05-22 10:35:25 UTC` ydbd size **2.2 GiB** changed* by **+137.3 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: 832745c71bc3ced584b5b877d259952fa1db8d6f |merge: c9edb948143658c1810fdf0356953eea86a0a1c4 |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 356 982 936** Bytes |**2 357 123 576** Bytes|**+137.3 KiB**|**+0.006%**|
|ydbd stripped size|**495 182 152** Bytes|**495 203 592** Bytes|**+20.9 KiB**|**+0.004%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/832745c71bc3ced584b5b877d259952fa1db8d6f..c9edb948143658c1810fdf0356953eea86a0a1c4)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-26T14:03:43Z
body: <!-- status pr=18608, preset=release-asan, run=44158 -->
:white_circle: `2025-05-26 14:03:42 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15255863249/job/42903253026) **linux-x86_64-release-asan** for 5baed26c16eee57707f32c59a7095ef5bd78841c has started.
:white_circle: `2025-05-26 14:03:53 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/index.html)
:white_circle: `2025-05-26 14:07:08 UTC` ya make is running...
:yellow_circle: `2025-05-26 16:11:58 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/167835) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [15480](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_1/ya-test.html) | [15337](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [81](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [36](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [26](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-26 16:13:16 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-26 16:46:16 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/167925) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/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/15255863249/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1403 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_2/ya-test.html) | [1326](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [48](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [6](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [23](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-26 16:46:32 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-26 17:14:35 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/167955) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/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/15255863249/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/15255863249/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1108 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_3/ya-test.html) | [1024](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [45](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [18](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [21](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-26 17:14:48 UTC` Build successful.
:yellow_circle: `2025-05-26 17:15:32 UTC` ydbd size **3.9 GiB** changed* by **+727.4 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 5baed26c16eee57707f32c59a7095ef5bd78841c |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 147 273 176** Bytes |**4 148 018 024** Bytes|**+727.4 KiB**|**+0.018%**|
|ydbd stripped size|**1 440 065 016** Bytes|**1 440 280 376** Bytes|**+210.3 KiB**|**+0.015%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..5baed26c16eee57707f32c59a7095ef5bd78841c)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-26T14:03:44Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=44158 -->
:white_circle: `2025-05-26 14:03:44 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15255863249/job/42903253017) **linux-x86_64-relwithdebinfo** for 5baed26c16eee57707f32c59a7095ef5bd78841c has started.
:white_circle: `2025-05-26 14:03:55 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/index.html)
:white_circle: `2025-05-26 14:07:19 UTC` ya make is running...
:yellow_circle: `2025-05-26 16:13:00 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/167836) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [30493](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_1/ya-test.html) | [27785](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_1/ya-test.html#FAIL) | [2661](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_1/ya-test.html#SKIP) | [45](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-26 16:15:35 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-26 16:55:05 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/167928) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [646 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_2/ya-test.html) | [603](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_2/ya-test.html#FAIL) | [10](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_2/ya-test.html#SKIP) | [32](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-26 16:55:15 UTC` ya make is running... (failed tests rerun, try 3)
:green_circle: `2025-05-26 17:42:28 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/167961) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [154 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_3/ya-test.html) | [119](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_3/ya-test.html#PASS) | 0 | 0 | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_3/ya-test.html#SKIP) | [33](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15255863249/ya-x86-64/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-26 17:42:35 UTC` Build successful.
:yellow_circle: `2025-05-26 17:42:56 UTC` ydbd size **2.2 GiB** changed* by **+433.6 KiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 5baed26c16eee57707f32c59a7095ef5bd78841c |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 358 248 400** Bytes |**2 358 692 408** Bytes|**+433.6 KiB**|**+0.019%**|
|ydbd stripped size|**495 390 920** Bytes|**495 466 504** Bytes|**+73.8 KiB**|**+0.015%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..5baed26c16eee57707f32c59a7095ef5bd78841c)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-27T12:17:51Z
body: <!-- status pr=18608, preset=release-asan, run=44293 -->
:white_circle: `2025-05-27 12:17:50 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15275006399/job/42959157244) **linux-x86_64-release-asan** for 65528d9b4e31b328b10a6db0190eae2685ec318d has started.
:white_circle: `2025-05-27 12:18:02 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64-asan/index.html)
:white_circle: `2025-05-27 12:21:30 UTC` ya make is running...
:yellow_circle: `2025-05-27 14:45:07 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/168454) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [15555](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64-asan/try_1/ya-test.html) | [15325](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [116](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [89](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [25](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-27 14:46:27 UTC` ya make is running... (failed tests rerun, try 2)
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-27T12:17:56Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=44293 -->
:white_circle: `2025-05-27 12:17:55 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15275006399/job/42959157342) **linux-x86_64-relwithdebinfo** for 65528d9b4e31b328b10a6db0190eae2685ec318d has started.
:white_circle: `2025-05-27 12:18:07 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/index.html)
:white_circle: `2025-05-27 12:21:33 UTC` ya make is running...
:yellow_circle: `2025-05-27 14:24:04 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/168455) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [30566](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_1/ya-test.html) | [27864](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [7](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_1/ya-test.html#FAIL) | [2651](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_1/ya-test.html#SKIP) | [44](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-27 14:26:34 UTC` ya make is running... (failed tests rerun, try 2)
:green_circle: `2025-05-27 14:56:30 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/168556) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [617 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_2/ya-test.html) | [571](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_2/ya-test.html#PASS) | 0 | 0 | [10](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_2/ya-test.html#SKIP) | [36](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15275006399/ya-x86-64/try_2/ya-test.html#MUTE) |

:green_circle: `2025-05-27 14:56:40 UTC` Build successful.
:yellow_circle: `2025-05-27 14:57:01 UTC` ydbd size **2.2 GiB** changed* by **+1.5 MiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 65528d9b4e31b328b10a6db0190eae2685ec318d |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 358 248 400** Bytes |**2 359 784 128** Bytes|**+1.5 MiB**|**+0.065%**|
|ydbd stripped size|**495 390 920** Bytes|**495 639 464** Bytes|**+242.7 KiB**|**+0.050%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..65528d9b4e31b328b10a6db0190eae2685ec318d)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-27T15:25:05Z
body: <!-- status pr=18608, preset=release-asan, run=44323 -->
:white_circle: `2025-05-27 15:25:05 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15279182107/job/42973898740) **linux-x86_64-release-asan** for 05b4bb734596e3113349abccc28c547855510c6a has started.
:white_circle: `2025-05-27 15:25:16 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/index.html)
:white_circle: `2025-05-27 15:28:39 UTC` ya make is running...
:yellow_circle: `2025-05-27 17:43:11 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/168605) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [15555](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_1/ya-test.html) | [15359](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [88](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [87](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [21](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-27 17:44:32 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-27 18:17:29 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/168674) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/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/15279182107/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1458 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_2/ya-test.html) | [1352](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [52](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [35](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [19](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-27 18:17:46 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-27 18:46:03 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/168685) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/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/15279182107/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/15279182107/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1079 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_3/ya-test.html) | [924](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [63](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [72](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [20](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-27 18:46:14 UTC` Build successful.
:red_circle: `2025-05-27 18:46:46 UTC` ydbd size **3.9 GiB** changed* by **+3.0 MiB**, which is >= 2.0 MiB vs main: **Alert**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 05b4bb734596e3113349abccc28c547855510c6a |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 147 273 176** Bytes |**4 150 404 224** Bytes|**+3.0 MiB**|**+0.075%**|
|ydbd stripped size|**1 440 065 016** Bytes|**1 440 858 328** Bytes|**+774.7 KiB**|**+0.055%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..05b4bb734596e3113349abccc28c547855510c6a)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-27T15:25:07Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=44323 -->
:white_circle: `2025-05-27 15:25:06 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15279182107/job/42973898728) **linux-x86_64-relwithdebinfo** for 05b4bb734596e3113349abccc28c547855510c6a has started.
:white_circle: `2025-05-27 15:25:17 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/index.html)
:white_circle: `2025-05-27 15:28:40 UTC` ya make is running...
:yellow_circle: `2025-05-27 17:31:26 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/168606) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [30570](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_1/ya-test.html) | [27880](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_1/ya-test.html#FAIL) | [2651](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_1/ya-test.html#SKIP) | [37](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-27 17:34:00 UTC` ya make is running... (failed tests rerun, try 2)
:green_circle: `2025-05-27 18:20:28 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/168671) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [126 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_2/ya-test.html) | [92](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_2/ya-test.html#PASS) | 0 | 0 | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_2/ya-test.html#SKIP) | [32](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15279182107/ya-x86-64/try_2/ya-test.html#MUTE) |

:green_circle: `2025-05-27 18:20:35 UTC` Build successful.
:yellow_circle: `2025-05-27 18:20:55 UTC` ydbd size **2.2 GiB** changed* by **+1.5 MiB**, which is >= 100.0 KiB vs main: **Warning**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 05b4bb734596e3113349abccc28c547855510c6a |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 358 248 400** Bytes |**2 359 830 808** Bytes|**+1.5 MiB**|**+0.067%**|
|ydbd stripped size|**495 390 920** Bytes|**495 649 640** Bytes|**+252.7 KiB**|**+0.052%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..05b4bb734596e3113349abccc28c547855510c6a)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-28T09:25:31Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=44406 -->
:white_circle: `2025-05-28 09:25:31 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15296506525/job/43026805684) **linux-x86_64-relwithdebinfo** for 55b93295738796154a0baf9cf40c0d36e7a1012a has started.
:white_circle: `2025-05-28 09:25:42 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/index.html)
:white_circle: `2025-05-28 09:28:39 UTC` ya make is running...
:yellow_circle: `2025-05-28 11:04:26 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/169048) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [29148](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_1/ya-test.html) | [26448](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [8](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_1/ya-test.html#FAIL) | [2651](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_1/ya-test.html#SKIP) | [41](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 11:06:49 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-28 11:43:09 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/169116) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [544 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_2/ya-test.html) | [509](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [4](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_2/ya-test.html#FAIL) | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_2/ya-test.html#SKIP) | [30](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 11:43:19 UTC` ya make is running... (failed tests rerun, try 3)
:red_circle: `2025-05-28 12:24:42 UTC` Some tests failed, follow the links below.

[Test history](https://nebius.testmo.net/automation/runs/view/169134) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [329 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_3/ya-test.html) | [295](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_3/ya-test.html#PASS) | 0 | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_3/ya-test.html#FAIL) | 0 | [32](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-28 12:24:50 UTC` Build successful.
:red_circle: `2025-05-28 12:25:14 UTC` ydbd size **2.2 GiB** changed* by **+3.8 MiB**, which is >= 2.0 MiB vs main: **Alert**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 55b93295738796154a0baf9cf40c0d36e7a1012a |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 358 248 400** Bytes |**2 362 277 728** Bytes|**+3.8 MiB**|**+0.171%**|
|ydbd stripped size|**495 390 920** Bytes|**496 011 368** Bytes|**+605.9 KiB**|**+0.125%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..55b93295738796154a0baf9cf40c0d36e7a1012a)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-28T09:25:32Z
body: <!-- status pr=18608, preset=release-asan, run=44406 -->
:white_circle: `2025-05-28 09:25:31 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15296506525/job/43026805662) **linux-x86_64-release-asan** for 55b93295738796154a0baf9cf40c0d36e7a1012a has started.
:white_circle: `2025-05-28 09:25:43 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/index.html)
:white_circle: `2025-05-28 09:28:54 UTC` ya make is running...
:yellow_circle: `2025-05-28 11:26:56 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/169049) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [14175](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_1/ya-test.html) | [13847](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [219](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [84](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [25](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 11:28:12 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-28 12:05:40 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/169124) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/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/15296506525/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1827 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_2/ya-test.html) | [1683](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [65](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [55](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [24](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 12:06:00 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-28 12:37:52 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/169149) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/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/15296506525/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/15296506525/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1489 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_3/ya-test.html) | [1395](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [57](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [15](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [22](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15296506525/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-28 12:38:07 UTC` Build successful.
:red_circle: `2025-05-28 12:38:40 UTC` ydbd size **3.9 GiB** changed* by **+6.9 MiB**, which is >= 2.0 MiB vs main: **Alert**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 55b93295738796154a0baf9cf40c0d36e7a1012a |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 147 273 176** Bytes |**4 154 475 544** Bytes|**+6.9 MiB**|**+0.174%**|
|ydbd stripped size|**1 440 065 016** Bytes|**1 442 051 928** Bytes|**+1.9 MiB**|**+0.138%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..55b93295738796154a0baf9cf40c0d36e7a1012a)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-28T14:07:10Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=44476 -->
:white_circle: `2025-05-28 14:07:09 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15302279580/job/43045745293) **linux-x86_64-relwithdebinfo** for f29f9865949d33009a6dc7ac7c4873f6016f466f has started.
:white_circle: `2025-05-28 14:07:21 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/index.html)
:white_circle: `2025-05-28 14:10:25 UTC` ya make is running...
:yellow_circle: `2025-05-28 15:32:25 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/169263) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [29153](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_1/ya-test.html) | [26415](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [49](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_1/ya-test.html#FAIL) | [2653](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_1/ya-test.html#SKIP) | [36](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 15:35:00 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-28 16:15:56 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/169358) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [621 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_2/ya-test.html) | [589](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_2/ya-test.html#FAIL) | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_2/ya-test.html#SKIP) | [30](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 16:16:07 UTC` ya make is running... (failed tests rerun, try 3)
:red_circle: `2025-05-28 16:56:54 UTC` Some tests failed, follow the links below.

[Test history](https://nebius.testmo.net/automation/runs/view/169404) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [323 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_3/ya-test.html) | [290](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_3/ya-test.html#PASS) | 0 | [1](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_3/ya-test.html#FAIL) | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_3/ya-test.html#SKIP) | [30](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-28 16:57:02 UTC` Build successful.
:red_circle: `2025-05-28 16:57:23 UTC` ydbd size **2.2 GiB** changed* by **+3.9 MiB**, which is >= 2.0 MiB vs main: **Alert**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: f29f9865949d33009a6dc7ac7c4873f6016f466f |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 358 248 400** Bytes |**2 362 329 448** Bytes|**+3.9 MiB**|**+0.173%**|
|ydbd stripped size|**495 390 920** Bytes|**496 015 592** Bytes|**+610.0 KiB**|**+0.126%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..f29f9865949d33009a6dc7ac7c4873f6016f466f)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-28T14:07:11Z
body: <!-- status pr=18608, preset=release-asan, run=44476 -->
:white_circle: `2025-05-28 14:07:11 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15302279580/job/43045745261) **linux-x86_64-release-asan** for f29f9865949d33009a6dc7ac7c4873f6016f466f has started.
:white_circle: `2025-05-28 14:07:21 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/index.html)
:white_circle: `2025-05-28 14:10:25 UTC` ya make is running...
:yellow_circle: `2025-05-28 15:51:03 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/169262) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [14184](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_1/ya-test.html) | [13964](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [117](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [83](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [20](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 15:52:17 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-28 16:22:38 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/169374) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/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/15302279580/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1882 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_2/ya-test.html) | [1781](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [67](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [15](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [19](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 16:22:57 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-28 16:51:03 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/169408) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/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/15302279580/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/15302279580/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1304 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_3/ya-test.html) | [1212](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [53](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [21](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [18](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15302279580/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-28 16:51:18 UTC` Build successful.
:red_circle: `2025-05-28 16:51:48 UTC` ydbd size **3.9 GiB** changed* by **+6.9 MiB**, which is >= 2.0 MiB vs main: **Alert**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: f29f9865949d33009a6dc7ac7c4873f6016f466f |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 147 273 176** Bytes |**4 154 557 952** Bytes|**+6.9 MiB**|**+0.176%**|
|ydbd stripped size|**1 440 065 016** Bytes|**1 442 063 672** Bytes|**+1.9 MiB**|**+0.139%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..f29f9865949d33009a6dc7ac7c4873f6016f466f)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-28T19:30:40Z
body: <!-- status pr=18608, preset=relwithdebinfo, run=44534 -->
:white_circle: `2025-05-28 19:30:39 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15308889890/job/43068437104) **linux-x86_64-relwithdebinfo** for 2ec507c2210abe854cfa95415a0788852625a1fc has started.
:white_circle: `2025-05-28 19:30:50 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/index.html)
:white_circle: `2025-05-28 19:33:51 UTC` ya make is running...
:yellow_circle: `2025-05-28 20:55:31 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/169523) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [29158](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_1/ya-test.html) | [26465](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_1/ya-test.html#PASS) | 0 | [6](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_1/ya-test.html#FAIL) | [2651](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_1/ya-test.html#SKIP) | [36](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 20:57:53 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-28 21:34:24 UTC` Some tests failed, follow the links below. Going to retry failed tests...

<details>


[Test history](https://nebius.testmo.net/automation/runs/view/169545) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [761 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_2/ya-test.html) | [733](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_2/ya-test.html#PASS) | 0 | [2](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_2/ya-test.html#FAIL) | 0 | [26](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 21:34:35 UTC` ya make is running... (failed tests rerun, try 3)
:green_circle: `2025-05-28 22:07:20 UTC` Tests successful.

[Test history](https://nebius.testmo.net/automation/runs/view/169556) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_1/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_2/test_bloat/tree_map.html) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [300 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_3/ya-test.html) | [275](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_3/ya-test.html#PASS) | 0 | 0 | 0 | [25](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-28 22:07:27 UTC` Build successful.
:red_circle: `2025-05-28 22:07:46 UTC` ydbd size **2.2 GiB** changed* by **+3.9 MiB**, which is >= 2.0 MiB vs main: **Alert**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 2ec507c2210abe854cfa95415a0788852625a1fc |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**2 358 248 400** Bytes |**2 362 340 472** Bytes|**+3.9 MiB**|**+0.174%**|
|ydbd stripped size|**495 390 920** Bytes|**496 018 024** Bytes|**+612.4 KiB**|**+0.127%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..2ec507c2210abe854cfa95415a0788852625a1fc)</sup>
author_association: NONE
user: login: github-actions[bot]
created_at: 2025-05-28T19:30:41Z
body: <!-- status pr=18608, preset=release-asan, run=44534 -->
:white_circle: `2025-05-28 19:30:41 UTC` Pre-commit [check](https://github.com/ydb-platform/ydb/actions/runs/15308889890/job/43068437124) **linux-x86_64-release-asan** for 2ec507c2210abe854cfa95415a0788852625a1fc has started.
:white_circle: `2025-05-28 19:30:52 UTC` Artifacts will be uploaded [here](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/index.html)
:white_circle: `2025-05-28 19:34:02 UTC` ya make is running...
:yellow_circle: `2025-05-28 21:12:26 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/169524) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [14189](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_1/ya-test.html) | [13994](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_1/ya-test.html#PASS) | 0 | [98](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_1/ya-test.html#FAIL) | [77](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_1/ya-test.html#SKIP) | [20](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_1/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 21:13:39 UTC` ya make is running... (failed tests rerun, try 2)
:yellow_circle: `2025-05-28 21:45:54 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/169552) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/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/15308889890/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1449 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_2/ya-test.html) | [1347](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_2/ya-test.html#PASS) | 0 | [73](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_2/ya-test.html#FAIL) | [11](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_2/ya-test.html#SKIP) | [18](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_2/ya-test.html#MUTE) |

</details>

:white_circle: `2025-05-28 21:46:11 UTC` ya make is running... (failed tests rerun, try 3)
:yellow_circle: `2025-05-28 22:16:44 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/169557) | [Ya make output](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/ya_make_output.txt) | [Test bloat](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/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/15308889890/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/15308889890/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> |
| ---: | ---: | ---: | ---: | ---: | ---: |
| [1390 (only retried tests)](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_3/ya-test.html) | [1226](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_3/ya-test.html#PASS) | 0 | [77](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_3/ya-test.html#FAIL) | [69](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_3/ya-test.html#SKIP) | [18](https://storage.yandexcloud.net/ydb-gh-logs/ydb-platform/ydb/PR-check/15308889890/ya-x86-64-asan/try_3/ya-test.html#MUTE) |

:green_circle: `2025-05-28 22:17:00 UTC` Build successful.
:red_circle: `2025-05-28 22:17:32 UTC` ydbd size **3.9 GiB** changed* by **+7.0 MiB**, which is >= 2.0 MiB vs main: **Alert**
|[ydbd size dash](https://datalens.yandex/cu6hzmpaki700)|main: d617cc14c32e50f51615fe1d3a4c783289b10641 |merge: 2ec507c2210abe854cfa95415a0788852625a1fc |diff | diff %|
|:--- | ---: | ---: | ---: | ---: |
|ydbd size|**4 147 273 176** Bytes |**4 154 580 232** Bytes|**+7.0 MiB**|**+0.176%**|
|ydbd stripped size|**1 440 065 016** Bytes|**1 442 071 032** Bytes|**+1.9 MiB**|**+0.139%**|

<sup>*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check [comparation](https://github.com/ydb-platform/ydb/compare/d617cc14c32e50f51615fe1d3a4c783289b10641..2ec507c2210abe854cfa95415a0788852625a1fc)</sup>
author_association: NONE