aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2023-07-07 15:16:33 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2023-07-07 15:16:33 +0300
commitdb453fcee2d1a458593a85c47365b9d348c0cd5c (patch)
tree7cf904edee7279a0d8752c198c8d88069002e15d
parentd98fff2514e4da4570f8bd0b381176c6ddc5cbf3 (diff)
downloadydb-db453fcee2d1a458593a85c47365b9d348c0cd5c.tar.gz
KIKIMR-18290:correct memory usage on CS scan
-rw-r--r--ydb/core/tx/columnshard/engines/reader/read_filter_merger.cpp3
-rw-r--r--ydb/core/tx/columnshard/engines/reader/read_filter_merger.h1
2 files changed, 1 insertions, 3 deletions
diff --git a/ydb/core/tx/columnshard/engines/reader/read_filter_merger.cpp b/ydb/core/tx/columnshard/engines/reader/read_filter_merger.cpp
index 149557c4f35..ea90df604c1 100644
--- a/ydb/core/tx/columnshard/engines/reader/read_filter_merger.cpp
+++ b/ydb/core/tx/columnshard/engines/reader/read_filter_merger.cpp
@@ -41,12 +41,11 @@ void TMergePartialStream::PutControlPoint(std::shared_ptr<TSortableBatchPosition
}
void TMergePartialStream::AddPoolSource(const std::optional<ui32> poolId, std::shared_ptr<arrow::RecordBatch> batch, std::shared_ptr<NArrow::TColumnFilter> filter) {
- if (!batch || !batch->num_rows()) {
+ if (!batch || !batch->num_rows() || (filter && filter->IsTotalDenyFilter())) {
return;
}
Y_VERIFY_DEBUG(NArrow::IsSorted(batch, SortSchema));
if (!poolId) {
- IndependentBatches.emplace_back(batch);
AddNewToHeap(poolId, batch, filter, true);
} else {
auto it = BatchPools.find(*poolId);
diff --git a/ydb/core/tx/columnshard/engines/reader/read_filter_merger.h b/ydb/core/tx/columnshard/engines/reader/read_filter_merger.h
index f0e4fcd7e66..e0c2ba29250 100644
--- a/ydb/core/tx/columnshard/engines/reader/read_filter_merger.h
+++ b/ydb/core/tx/columnshard/engines/reader/read_filter_merger.h
@@ -255,7 +255,6 @@ private:
}
THashMap<ui32, std::deque<TIteratorData>> BatchPools;
- std::vector<std::shared_ptr<arrow::RecordBatch>> IndependentBatches;
std::vector<TBatchIterator> SortHeap;
std::shared_ptr<arrow::Schema> SortSchema;
const bool Reverse;