You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Wenchen Fan (Jira)" <ji...@apache.org> on 2023/10/31 03:24:00 UTC

[jira] [Resolved] (SPARK-45592) AQE and InMemoryTableScanExec correctness bug

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

Wenchen Fan resolved SPARK-45592.
---------------------------------
    Fix Version/s: 4.0.0
                   3.5.1
       Resolution: Fixed

Issue resolved by pull request 43435
[https://github.com/apache/spark/pull/43435]

> AQE and InMemoryTableScanExec correctness bug
> ---------------------------------------------
>
>                 Key: SPARK-45592
>                 URL: https://issues.apache.org/jira/browse/SPARK-45592
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 3.5.0
>            Reporter: Emil Ejbyfeldt
>            Assignee: Apache Spark
>            Priority: Blocker
>              Labels: correctness, pull-request-available
>             Fix For: 3.5.1, 4.0.0
>
>
> The following query should return 1000000
> {code:java}
> import org.apache.spark.storage.StorageLevelval
> df = spark.range(0, 1000000, 1, 5).map(l => (l, l))
> val ee = df.select($"_1".as("src"), $"_2".as("dst"))
>   .persist(StorageLevel.MEMORY_AND_DISK)
> ee.count()
> val minNbrs1 = ee
>   .groupBy("src").agg(min(col("dst")).as("min_number"))
>   .persist(StorageLevel.MEMORY_AND_DISK)
> val join = ee.join(minNbrs1, "src")
> join.count(){code}
> but on spark 3.5.0 there is a correctness bug causing it to return `104800` or some other smaller value.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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