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)