Uploaded image for project: 'Apache Sedona'
  1. Apache Sedona
  2. SEDONA-56

Broadcast join doesn't work with AQE enabled

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.0.1
    • None

    Description

      If you have AQE enabled (spark.sql.adaptive.enabled=true), broadcast joins fail with a MatchError due to: https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/adaptive/AdaptiveSparkPlanExec.scala#L533-L560. This is because SpatialJoinExec extends `Exchange`, but doesn't implement BroadcastExchangeLike. It needs to be updated to either not extend Exchange, or make direct use of `BroadcastExchangeExec` instead of doing the broadcast itself. 

      Current workaround is disable AQE, which is the current default but will be enabled by default  starting in Spark 3.2.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            kimahriman Adam Binford
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 1h
              1h

              Slack

                Issue deployment