[
https://issues.apache.org/jira/browse/HIVE-17405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16148178#comment-16148178
]
Sahil Takiar commented on HIVE-17405:
-------------------------------------
Attaching an updated patch with the call to constant propagation moved to the
end of {{SparkCompiler#optimizeOperatorPlan}} - lets see if there are any test
failures that result from moving it there.
Re-generated {{spark_vectorized_dynamic_partition_pruning.q}} since it hasn't
been updated in a long time. I did a diff between the new
{{spark_vectorized_dynamic_partition_pruning.q.out}} and
{{spark_dynamic_partition_pruning.q.out}} and the only diffs were in the table
stats, the {{Execution mode: vectorized}}, and HIVE-17414.
> HoS DPP ConstantPropagate should use ConstantPropagateOption.SHORTCUT
> ---------------------------------------------------------------------
>
> Key: HIVE-17405
> URL: https://issues.apache.org/jira/browse/HIVE-17405
> Project: Hive
> Issue Type: Sub-task
> Components: Spark
> Reporter: Sahil Takiar
> Assignee: Sahil Takiar
> Attachments: HIVE-17405.1.patch, HIVE-17405.2.patch,
> HIVE-17405.3.patch, HIVE-17405.4.patch
>
>
> In {{SparkCompiler#runDynamicPartitionPruning}} we should change {{new
> ConstantPropagate().transform(parseContext)}} to {{new
> ConstantPropagate(ConstantPropagateOption.SHORTCUT).transform(parseContext)}}
> Hive-on-Tez does the same thing.
> Running the full constant propagation isn't really necessary, we just want to
> eliminate any {{and true}} predicates that were introduced by
> {{SyntheticJoinPredicate}} and {{DynamicPartitionPruningOptimization}}. The
> {{SyntheticJoinPredicate}} will introduce dummy filter predicates into the
> operator tree, and {{DynamicPartitionPruningOptimization}} will replace them.
> The predicates introduced via {{SyntheticJoinPredicate}} are necessary to
> help {{DynamicPartitionPruningOptimization}} determine if DPP can be used or
> not.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)