From 5595042aff3d6b00d5889ce7078bf5bdca806a31 Mon Sep 17 00:00:00 2001 From: "Robert (Bobby) Evans" Date: Tue, 25 May 2021 13:31:55 -0500 Subject: [PATCH] Remove work around for nulls in semi-anti joins (#2502) Signed-off-by: Robert (Bobby) Evans --- .../apache/spark/sql/rapids/execution/GpuHashJoin.scala | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sql-plugin/src/main/scala/org/apache/spark/sql/rapids/execution/GpuHashJoin.scala b/sql-plugin/src/main/scala/org/apache/spark/sql/rapids/execution/GpuHashJoin.scala index 78d6399912b..826b534a6ee 100644 --- a/sql-plugin/src/main/scala/org/apache/spark/sql/rapids/execution/GpuHashJoin.scala +++ b/sql-plugin/src/main/scala/org/apache/spark/sql/rapids/execution/GpuHashJoin.scala @@ -623,13 +623,9 @@ trait GpuHashJoin extends GpuExec { // The 10k is mostly for tests, hopefully no one is setting anything that low in production. val realTarget = Math.max(targetSize, 10 * 1024) - // Filtering nulls on the build side is a workaround. - // 1) For a performance issue in LeftSemi and LeftAnti joins - // https://github.com/rapidsai/cudf/issues/7300 - // 2) As a work around to Struct joins with nullable children + // Filtering nulls on the build side is a workaround for Struct joins with nullable children // see https://github.com/NVIDIA/spark-rapids/issues/2126 for more info - val builtAnyNullable = (compareNullsEqual || joinType == LeftSemi || joinType == LeftAnti) && - buildKeys.exists(_.nullable) + val builtAnyNullable = compareNullsEqual && buildKeys.exists(_.nullable) val nullFiltered = if (builtAnyNullable) { GpuHashJoin.filterNulls(builtBatch, boundBuildKeys)