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


##########
fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/RuntimeFilterPartitionPruneClassifier.java:
##########
@@ -79,6 +80,9 @@ static Classification classify(TRuntimeFilterType filterType, 
Expr targetExpr,
         if (hasUnsupportedAutomaticPartitionExpression(partitionInfo)) {
             return Classification.unsupported("automatic partition expression 
boundary is not modeled");
         }
+        if (nereidsTargetExpr.containsType(NoneMovableFunction.class)) {

Review Comment:
   [P1] Reject side-effecting targets, not only NoneMovableFunction
   
   This still accepts `sleep(f.part_key)`: `Sleep` is deterministic by default 
and does not implement `NoneMovableFunction`. For a LIST table with nonempty 
partitions at 0 and 3600, where the 3600 row is removed by `WHERE keep_row = 
1`, ordinary execution evaluates only `sleep(0)`. Partition pruning 
nevertheless serializes both selected boundaries and BE executes the target on 
both values, adding an hour-long sleep before scanning. This is distinct from 
the existing domain-error thread because execution succeeds but introduces a 
side effect. Please require a positive total/side-effect-free eligibility 
contract (or at least mark/reject `sleep`) and add a filtered-out LIST-boundary 
regression.



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