diff options
author | Vitalii Gridnev <gridnevvvit@gmail.com> | 2024-11-20 23:40:43 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-20 20:40:43 +0000 |
commit | 41baaddb6040fedb58166db7d654cfdb3fb36663 (patch) | |
tree | bc0b40ea24e7ba2cd655f3f632ff956780c7091e | |
parent | 779684a0f73f28df497713637a31714e72b8ff68 (diff) | |
download | ydb-41baaddb6040fedb58166db7d654cfdb3fb36663.tar.gz |
Fix overflow case in stream index lookup join (#11818)
-rw-r--r-- | ydb/core/kqp/runtime/kqp_stream_lookup_worker.cpp | 7 |
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; |