[jira] [Updated] (SPARK-20718) FileSourceScanExec with different filter orders should be the same after canonicalization

2017-05-11 Thread Zhenhua Wang (JIRA)

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

Zhenhua Wang updated SPARK-20718:
-
Summary: FileSourceScanExec with different filter orders should be the same 
after canonicalization  (was: FileSourceScanExec with different filter orders 
should have the same result)

> FileSourceScanExec with different filter orders should be the same after 
> canonicalization
> -
>
> Key: SPARK-20718
> URL: https://issues.apache.org/jira/browse/SPARK-20718
> Project: Spark
>  Issue Type: Bug
>  Components: SQL
>Affects Versions: 2.2.0
>Reporter: Zhenhua Wang
>
> Since `constraints` in `QueryPlan` is a set, the order of filters can differ. 
> Usually this is ok because of canonicalization. However, in 
> `FileSourceScanExec`, its data filters and partition filters are sequences, 
> and their orders are not canonicalized. So `def sameResult` returns different 
> results for different orders of data/partition filters. This leads to, e.g. 
> different decision for `ReuseExchange`, and thus results in unstable 
> performance.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org



[jira] [Updated] (SPARK-20718) FileSourceScanExec with different filter orders should be the same after canonicalization

2017-05-12 Thread Zhenhua Wang (JIRA)

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

Zhenhua Wang updated SPARK-20718:
-
Description: 
Since `constraints` in `QueryPlan` is a set, the order of filters can differ. 
Usually this is ok because of canonicalization. However, in 
`FileSourceScanExec`, its data filters and partition filters are sequences, and 
their orders are not canonicalized. So `def sameResult` returns different 
results for different orders of data/partition filters. This leads to, e.g. 
different decision for `ReuseExchange`, and thus results in unstable 
performance.

The same issue exists in `HiveTableScanExec`.

  was:Since `constraints` in `QueryPlan` is a set, the order of filters can 
differ. Usually this is ok because of canonicalization. However, in 
`FileSourceScanExec`, its data filters and partition filters are sequences, and 
their orders are not canonicalized. So `def sameResult` returns different 
results for different orders of data/partition filters. This leads to, e.g. 
different decision for `ReuseExchange`, and thus results in unstable 
performance.


> FileSourceScanExec with different filter orders should be the same after 
> canonicalization
> -
>
> Key: SPARK-20718
> URL: https://issues.apache.org/jira/browse/SPARK-20718
> Project: Spark
>  Issue Type: Bug
>  Components: SQL
>Affects Versions: 2.2.0
>Reporter: Zhenhua Wang
>Assignee: Zhenhua Wang
> Fix For: 2.2.0
>
>
> Since `constraints` in `QueryPlan` is a set, the order of filters can differ. 
> Usually this is ok because of canonicalization. However, in 
> `FileSourceScanExec`, its data filters and partition filters are sequences, 
> and their orders are not canonicalized. So `def sameResult` returns different 
> results for different orders of data/partition filters. This leads to, e.g. 
> different decision for `ReuseExchange`, and thus results in unstable 
> performance.
> The same issue exists in `HiveTableScanExec`.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org