From 6c14aa408c4084ec84a07f5f8d69d50358fa2fa4 Mon Sep 17 00:00:00 2001 From: ivanmorozov333 Date: Mon, 25 Nov 2024 18:09:17 +0300 Subject: [PATCH] correction --- .../reader/simple_reader/iterator/scanner.cpp | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/scanner.cpp b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/scanner.cpp index 32f847ce85fa..3b819cdf4f41 100644 --- a/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/scanner.cpp +++ b/ydb/core/tx/columnshard/engines/reader/simple_reader/iterator/scanner.cpp @@ -35,26 +35,25 @@ void TScanHead::OnSourceReady(const std::shared_ptr& source, std::s ContinueSource(*sourceIdxToContinue); break; } - if (isFinished) { - AFL_VERIFY(FetchingSourcesByIdx.erase(frontSource->GetSourceIdx())); - if (Context->GetCommonContext()->GetReadMetadata()->Limit) { - FinishedSources.emplace(*FetchingSources.begin()); + if (!isFinished) { + break + } + AFL_VERIFY(FetchingSourcesByIdx.erase(frontSource->GetSourceIdx())); + if (Context->GetCommonContext()->GetReadMetadata()->Limit) { + FinishedSources.emplace(*FetchingSources.begin()); + } + FetchingSources.erase(FetchingSources.begin()); + while (FetchingSources.size() && FinishedSources.size()) { + auto finishedSource = *FinishedSources.begin(); + auto fetchingSource = *FetchingSources.begin(); + if (finishedSource->GetFinish() < fetchingSource->GetStart()) { + FetchedCount += finishedSource->GetRecordsCount(); } - FetchingSources.erase(FetchingSources.begin()); - while (FetchingSources.size() && FinishedSources.size()) { - auto finishedSource = *FinishedSources.begin(); - auto fetchingSource = *FetchingSources.begin(); - if (finishedSource->GetFinish() < fetchingSource->GetStart()) { - FetchedCount += finishedSource->GetRecordsCount(); - } - FinishedSources.erase(FinishedSources.begin()); - if (FetchedCount > Context->GetCommonContext()->GetReadMetadata()->Limit) { - Context->Abort(); - Abort(); - } + FinishedSources.erase(FinishedSources.begin()); + if (FetchedCount > Context->GetCommonContext()->GetReadMetadata()->Limit) { + Context->Abort(); + Abort(); } - } else { - break; } } }