diff options
author | udovichenko-r <udovichenko-r@yandex-team.com> | 2025-02-27 21:13:42 +0300 |
---|---|---|
committer | udovichenko-r <udovichenko-r@yandex-team.com> | 2025-02-27 21:29:03 +0300 |
commit | 65490e1841a829910e9fdca2223b90692bcc3f68 (patch) | |
tree | d4d43e940c6ea2c64cc23c9788339146e3e6e2af /yt | |
parent | f41dd08e6f8e563d79293e77e5efc9724bff0dcd (diff) | |
download | ydb-65490e1841a829910e9fdca2223b90692bcc3f68.tar.gz |
Always recalculate column groups for operations with copy/merge dependencies
commit_hash:0eb58722ea067f220978fd3e9f01914096fce072
Diffstat (limited to 'yt')
-rw-r--r-- | yt/yql/providers/yt/provider/yql_yt_physical_finalizing.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/yt/yql/providers/yt/provider/yql_yt_physical_finalizing.cpp b/yt/yql/providers/yt/provider/yql_yt_physical_finalizing.cpp index ac7a3cb79b..b44fd4918a 100644 --- a/yt/yql/providers/yt/provider/yql_yt_physical_finalizing.cpp +++ b/yt/yql/providers/yt/provider/yql_yt_physical_finalizing.cpp @@ -2862,7 +2862,12 @@ private: // Check all counsumers are known auto& processed = ProcessedCalculateColumnGroups[writer]; - if (processed.size() == readers.size() && AllOf(readers, [&processed](const auto& item) { return processed.contains(std::get<0>(item)->UniqueId()); })) { + if (processed.size() == readers.size() && + AllOf(readers, [&processed](const auto& item) { + // Always reprocess ops with merge/copy readers + return !TYtCopy::Match(std::get<0>(item)) && !TYtMerge::Match(std::get<0>(item)) && processed.contains(std::get<0>(item)->UniqueId()); + }) + ) { continue; } processed.clear(); |