[ 
https://issues.apache.org/jira/browse/IMPALA-10902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

pengdou1990 closed IMPALA-10902.
--------------------------------
    Resolution: Abandoned

> In the case of outer join connections, skip unnecessary BE check
> ----------------------------------------------------------------
>
>                 Key: IMPALA-10902
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10902
>             Project: IMPALA
>          Issue Type: Improvement
>            Reporter: pengdou1990
>            Assignee: pengdou1990
>            Priority: Minor
>
> It is incorrect to propagate predicates into a plan subtree that is on the 
> nullable side of an outer join if the predicate evaluates to true when all 
> its referenced tuples are NULL. For example:
> {code:java}
> select * from (select A.a, B.b, B.col from A left join B on A.a=B.b) v
>  where v.col is null{code}
> In this query (v.col is null) should not be evaluated at the scanner of B.
> To Resolve the problem,  outer join child nodes has to ensure the predicate 
> response true  if all related slots are null by call the following function.
> {code:java}
> org.apache.impala.analysis.Analyzer#isTrueWithNullSlots
> {code}
> the function finally call expensive BE Native function.
> {code:java}
> org.apache.impala.service.FeSupport#NativeEvalExprsWithoutRow
> {code}
> if the sql contains hundreds of outer join and the predicate is instance of 
> inPredicate and in predicate has thousands of literal,  the BE Native 
> function will be called hundreds time, cause create single node quite slow, 
> as long as several  seconds.
> As some predicate can check is True With Null Slots in FE, so it needn't to 
> check at BE, if we avoid unnecessary BE check,  the creation of single node 
> plan create procedure may be accelerated.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to