You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Alexander Behm (JIRA)" <ji...@apache.org> on 2017/09/23 05:19:03 UTC

[jira] [Created] (IMPALA-5977) Only compute value transfers for materialized slots

Alexander Behm created IMPALA-5977:
--------------------------------------

             Summary: Only compute value transfers for materialized slots
                 Key: IMPALA-5977
                 URL: https://issues.apache.org/jira/browse/IMPALA-5977
             Project: IMPALA
          Issue Type: Sub-task
          Components: Frontend
    Affects Versions: Impala 2.9.0, Impala 2.8.0, Impala 2.7.0, Impala 2.6.0, Impala 2.5.0, Impala 2.10.0
            Reporter: Alexander Behm


Today, we include all slots when computing the transitive closure of the value transfer graph, but we should really exclude non-materialized slots to speed up the computation.

To fix this issue we need to do at least these things:
* Mark slots as materialized before computing the value transfer graph (today these phases are in reverse order)
* When marking slots as materialized, include all slots that are relevant to the value-transfer computation including the virtual sots of inline views (today slot materialization only marks base table slots). This means reworking the existing QueryStmt.materializeRequiredSlots() to not use the baseTblSmap_ and instead rely on the SlotDescriptor.sourceExprs_ to track all source slots that contribute to the result of an expr.

To get started look at these functions and where they are called:
* QueryStmt.materializeRequiredSlots()
* Analyzer.computeEquivClasses()
* SingleNodePlanner.createSingleNodePlan()




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)