github-actions[bot] commented on code in PR #66422:
URL: https://github.com/apache/doris/pull/66422#discussion_r3714649534
##########
be/src/storage/predicate/in_list_predicate.h:
##########
@@ -436,11 +442,11 @@ class InListPredicateBase final : public ColumnPredicate {
return true;
}
} else if constexpr (Type == PrimitiveType::TYPE_DOUBLE) {
- if (test_bytes(*value)) {
+ if (bf->test_floating_point(*value)) {
return true;
Review Comment:
[P2] Skip Bloom reads that a NaN probe cannot use
`test_floating_point(NaN)` is now unconditionally conservative, so an EQ-NaN
or FLOAT/DOUBLE IN set containing NaN can never reject a Row Group through this
Bloom path. V1 still calls `get_bloom_filter_func` before reaching this loop
(the new test expects one loader call), and V2 similarly reads/parses the Row
Group Bloom before `eval_in_bloom_filter` returns may-match. A standalone
predicate therefore adds Bloom header/payload reads, parsing/allocation, and,
for IN, a set walk per eligible surviving Row Group with zero pruning benefit;
on cold remote scans those become repeated small requests. Please mark these
NaN predicate shapes Bloom-ineligible before I/O (while preserving useful
same-slot/compound conjuncts and signed-zero probing).
--
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]