aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitalii Gridnev <gridnevvvit@gmail.com>2024-11-20 23:40:43 +0300
committerGitHub <noreply@github.com>2024-11-20 20:40:43 +0000
commit41baaddb6040fedb58166db7d654cfdb3fb36663 (patch)
treebc0b40ea24e7ba2cd655f3f632ff956780c7091e
parent779684a0f73f28df497713637a31714e72b8ff68 (diff)
downloadydb-41baaddb6040fedb58166db7d654cfdb3fb36663.tar.gz
Fix overflow case in stream index lookup join (#11818)
-rw-r--r--ydb/core/kqp/runtime/kqp_stream_lookup_worker.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/ydb/core/kqp/runtime/kqp_stream_lookup_worker.cpp b/ydb/core/kqp/runtime/kqp_stream_lookup_worker.cpp
index e86239d197..efd1c6fd72 100644
--- a/ydb/core/kqp/runtime/kqp_stream_lookup_worker.cpp
+++ b/ydb/core/kqp/runtime/kqp_stream_lookup_worker.cpp
@@ -231,7 +231,7 @@ public:
}
}
- std::vector<THolder<TEvDataShard::TEvRead>> RebuildRequest(const ui64& prevReadId, ui32 firstUnprocessedQuery,
+ std::vector<THolder<TEvDataShard::TEvRead>> RebuildRequest(const ui64& prevReadId, ui32 firstUnprocessedQuery,
TMaybe<TOwnedCellVec> lastProcessedKey, ui64& newReadId) final {
auto it = PendingKeysByReadId.find(prevReadId);
@@ -280,7 +280,7 @@ public:
requests.emplace_back(std::move(request));
PendingKeysByReadId.insert({newReadId, std::move(unprocessedRanges)});
}
-
+
return requests;
}
@@ -495,7 +495,7 @@ public:
UnprocessedRows.emplace_back(std::make_pair(TOwnedCellVec(joinKeyCells), std::move(inputRow.GetElement(1))));
}
- std::vector<THolder<TEvDataShard::TEvRead>> RebuildRequest(const ui64& prevReadId, ui32 firstUnprocessedQuery,
+ std::vector<THolder<TEvDataShard::TEvRead>> RebuildRequest(const ui64& prevReadId, ui32 firstUnprocessedQuery,
TMaybe<TOwnedCellVec> lastProcessedKey, ui64& newReadId) final {
auto readIt = PendingKeysByReadId.find(prevReadId);
@@ -934,6 +934,7 @@ private:
if (rowStats.ResultBytesCount > (ui64)freeSpace) {
resultRow.DeleteUnreferenced();
rowStats.Clear();
+ return NUdf::TUnboxedValuePod();
}
return resultRow;