github-actions[bot] commented on code in PR #64165:
URL: https://github.com/apache/doris/pull/64165#discussion_r3413304424


##########
be/src/storage/segment/segment_iterator.cpp:
##########
@@ -2596,6 +2631,10 @@ uint16_t 
SegmentIterator::_evaluate_vectorization_predicate(uint16_t* sel_rowid_
             all_pred_always_true = false;
         } else {
             pred->update_filter_info(0, 0, selected_size);
+            if (pred->scan_filter_handle()) {
+                
pred->scan_filter_handle().stats->record(ScanFilterStage::EXEC_VECTOR,
+                                                         selected_size, 
selected_size);

Review Comment:
   These pass-through stats are recorded before the vector predicates are 
evaluated and use the original `selected_size` for every `always_true()` 
predicate. If the predicate order is `[normal_pred, runtime_filter_pred]` and 
the runtime filter has switched to always-true, the runtime filter's 
`EXEC_VECTOR` input/output is recorded as the original batch size even though, 
in order-dependent execution accounting, it should see only the rows left after 
`normal_pred`. Please handle always-true predicates inside the main predicate 
loop and record `current_selected_rows -> current_selected_rows` at their 
actual position.



##########
be/src/exec/operator/scan_operator.cpp:
##########
@@ -251,7 +296,7 @@ Status ScanLocalState<Derived>::open(RuntimeState* state) {
 
     RETURN_IF_ERROR(_process_conjuncts(state));
 
-    if (state->enable_profile()) {
+    if (state->enable_profile() && _scan_filter_profile == nullptr) {
         custom_profile()->add_info_string("PushDownPredicates",

Review Comment:
   This suppresses the legacy `PushDownPredicates` info string whenever 
scan-filter profiling is enabled, which now happens at `profile_level >= 1`. 
The replacement profile does not emit the expression text until `profile_level 
>= 3` (`Expr` in `ScanFilterProfile::materialize()`), and the same pattern also 
suppresses `RemainedPredicates` below and `KeyRanges` in the OLAP path while 
`ScanKeys` is only emitted at level 2. So a normal level-1 profile loses the 
actual predicate/key-range text that was previously present whenever profiling 
was enabled, and `ScanFilterInfo` only shows `Source: Conjunct` plus stages. 
Please either preserve the legacy info strings at level 1 or materialize 
equivalent column/expression/key-range details at the same visibility level.



-- 
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]

Reply via email to