Why don't roaringBitmap aggregation functions need to use Arena? #59097
Unanswered
f0rest9999
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
In the documentation https://github.com/ClickHouse/ClickHouse/blob/master/docs/en/development/architecture.md, The
"States are allocated in Arena (a memory pool) to deal with multiple states while executing a high-cardinality GROUP BY query. "
was mentioned.But I found RoaringBitmap aggregation function not use arena to allocate memory to store the states.
cpp: src/AggregateFunctions/AggregateFunctionGroupBitmap.cpp
bool allocatesMemoryInArena() const override { return false; }
.It is possible that the RoaringBitmap is too large and exceeds the limit. And this seems to fit what markdown wrote above.
So I am confused that how does ClickHouse allocate memory and keep track of memory during the execution of RoaringBitmap aggregation. Is there a memory tracker with a hidden mechanism?
Beta Was this translation helpful? Give feedback.
All reactions