Revision a8d981dc5d11d65a4bd3a68aa57455b34a2649f9 authored by wangzhenhua on 12 May 2017, 05:42:48 UTC, committed by Wenchen Fan on 12 May 2017, 05:43:04 UTC
## What changes were proposed in this pull request? 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. ## How was this patch tested? Added a new test for `FileSourceScanExec.sameResult`. Author: wangzhenhua <wangzhenhua@huawei.com> Closes #17959 from wzhfy/canonicalizeFileSourceScanExec. (cherry picked from commit c8da5356000c8e4ff9141e4a2892ebe0b9641d63) Signed-off-by: Wenchen Fan <wenchen@databricks.com>
1 parent 2cac317
File | Mode | Size |
---|---|---|
MimaBuild.scala | -rw-r--r-- | 3.8 KB |
MimaExcludes.scala | -rw-r--r-- | 91.6 KB |
SparkBuild.scala | -rw-r--r-- | 32.4 KB |
build.properties | -rw-r--r-- | 804 bytes |
plugins.sbt | -rw-r--r-- | 1.3 KB |
Computing file changes ...