aboutsummaryrefslogtreecommitdiffstats
path: root/yt
diff options
context:
space:
mode:
authorudovichenko-r <udovichenko-r@yandex-team.com>2025-02-27 21:13:42 +0300
committerudovichenko-r <udovichenko-r@yandex-team.com>2025-02-27 21:29:03 +0300
commit65490e1841a829910e9fdca2223b90692bcc3f68 (patch)
treed4d43e940c6ea2c64cc23c9788339146e3e6e2af /yt
parentf41dd08e6f8e563d79293e77e5efc9724bff0dcd (diff)
downloadydb-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.cpp7
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();