apache / apache/auron

[Correctness] ExistenceJoin/LeftAnti + BuildLeft produces incorrect result when probe side is empty

Open
#1,807 2 comments 0 reactions 0 assignees View on GitHub
correctness
Dominant language
Rust
Stars
1.8k
Forks
241
Avg merge
2d 12h
Merged PRs (30d)
21

Description

The following test fails with Auron enabled:

https://github.com/apache/spark/blob/b45f071cd1b653731ae5b1c97c77d1f47560b177/sql/core/src/test/scala/org/apache/spark/sql/execution/joins/ExistenceJoinSuite.scala#L256-L263

stacktrace:

```
ScalaTestFailureLocation: org.apache.spark.sql.execution.SparkPlanTest at (SparkPlanTest.scala:95)
org.scalatest.exceptions.TestFailedException:
Results do not match for Spark plan:
BroadcastNestedLoopJoin BuildLeft, LeftAnti
:- BroadcastExchange IdentityBroadcastMode, [plan_id=3179]
: +- Scan ExistingRDD[a#15,b#16]
+- LocalTableScan


== Results ==
!== Expected Answer - 8 == == Actual Answer - 0 ==
![1,2.0]
![1,2.0]
![2,1.0]
![2,1.0]
![3,3.0]
![6,null]
![null,5.0]
![null,null]

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.