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 bc4e34df7f17..92e8bd67aae2 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 @@ -18,7 +18,7 @@ void TScanHead::OnSourceReady(const std::shared_ptr& source, std::s Context->GetCommonContext()->GetCounters().OnSourceFinished( source->GetRecordsCount(), source->GetUsedRawBytes(), tableExt ? tableExt->num_rows() : 0); - if ((!tableExt || !tableExt->num_rows()) && Context->GetCommonContext()->GetReadMetadata()->HasLimit() && InFlightLimit < MaxInFlight) { + if (/*(!tableExt || !tableExt->num_rows()) &&*/ Context->GetCommonContext()->GetReadMetadata()->HasLimit() && InFlightLimit < MaxInFlight) { InFlightLimit = 2 * InFlightLimit; } source->MutableStageResult().SetResultChunk(std::move(tableExt), startIndex, recordsCount); @@ -59,10 +59,9 @@ void TScanHead::OnSourceReady(const std::shared_ptr& source, std::s AFL_VERIFY(FetchingSourcesByIdx.erase(frontSource->GetSourceIdx())); FetchingSources.pop_front(); frontSource->ClearResult(); - if (Context->GetCommonContext()->GetReadMetadata()->HasLimit() && FetchingSources.size() && frontSource->GetResultRecordsCount()) { + if (Context->GetCommonContext()->GetReadMetadata()->HasLimit() && SortedSources.size() && frontSource->GetResultRecordsCount()) { FinishedSources.emplace(frontSource); - while (FinishedSources.size() && (*FinishedSources.begin())->GetFinish() < FetchingSources.front()->GetStart()) { - auto fetchingSource = FetchingSources.front(); + while (FinishedSources.size() && (*FinishedSources.begin())->GetFinish() < SortedSources.front()->GetStart()) { auto finishedSource = *FinishedSources.begin(); FetchedCount += finishedSource->GetResultRecordsCount(); FinishedSources.erase(FinishedSources.begin());