github-actions[bot] commented on code in PR #69160:
URL: https://github.com/apache/doris/pull/69160#discussion_r4295606943
##########
be/src/exprs/vcompound_pred.h:
##########
@@ -262,9 +265,24 @@ class VCompoundPred : public VectorizedFnCall {
}
}
+ //
NOLINTNEXTLINE(readability-function-size,readability-function-cognitive-complexity):
Keep each operator's bitmap and score updates together.
Status evaluate_inverted_index(VExprContext* context, uint32_t
segment_num_rows) override {
segment_v2::InvertedIndexResultBitmap res;
bool all_pass = true;
+ auto index_context = context->get_index_context();
+ auto query_context = index_context->get_index_query_context();
+ auto parent_similarity =
+ query_context != nullptr ?
query_context->collection_similarity : nullptr;
+ CollectionSimilarityPtr branch_similarity;
+ if (parent_similarity != nullptr) {
+ branch_similarity = std::make_shared<CollectionSimilarity>();
Review Comment:
[P2] Track the new per-compound score-map allocations
For a broad scored predicate such as `(title MATCH_ANY 'apple' AND content
MATCH_ANY 'search') OR tags MATCH_ANY 'database'`, these new collectors can
each hold an entry per matching segment row, and the child map remains alive
while `merge_scores` grows its parent. `ScoreMap` is a raw
`phmap::flat_hash_map` using the default allocator; this branch's malloc hook
forwards directly to jemalloc, whereas MemTracker accounting occurs in
`Allocator::consume_memory`. The new segment-sized temporary maps therefore
bypass query/workload memory accounting and limits, increasing untracked peak
memory with Boolean nesting and concurrent segment scans. Please use a tracked
allocator for the score maps (for example the existing `doris::flat_hash_map`
alias), preserving balanced accounting across release/merge/destruction.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]