github-actions[bot] commented on code in PR #66455: URL: https://github.com/apache/doris/pull/66455#discussion_r3826821288
########## be/src/common/config.cpp: ########## @@ -946,6 +946,10 @@ DEFINE_String(thrift_server_type_of_fe, "THREAD_POOL"); // disable zone map index when page row is too few DEFINE_mInt32(zone_map_row_num_threshold, "20"); +// Maximum number of IN values checked exactly against a zone map. For larger sets, only the +// IN-set min/max range is checked. +DEFINE_mInt32(in_zonemap_point_check_threshold, "8192"); Review Comment: [P1] Keep the advertised point-check default until the production path is measured This changes the previous hardcoded cutoff from 64 to 8192 even though the head commit says the new mutable setting preserves a default of 64 and the PR declares no behavior change. For an ordinary INT/string IN set whose min/max overlaps a page but whose points miss it, `contains_any_in_range()` linearly visits the set for every segment/page/row-group zonemap; at 8192 the default therefore admits up to 128x the old point-probe work before decoding. The added microbenchmark times only the exact helper and publishes no exact-vs-range/end-to-end results, so it does not establish that this new cluster default is safe. Please restore 64, or explicitly declare and justify 8192 with same-host production-path measurements covering sparse full misses and the decode work saved by extra pruning. -- 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]
