Skip to content

[AURON #2437] Support inner residual join conditions in native broadcast hash join - #2438

Open
weimingdiit wants to merge 1 commit into
apache:masterfrom
weimingdiit:feature/native-bhj-inner-join-condition
Open

[AURON #2437] Support inner residual join conditions in native broadcast hash join#2438
weimingdiit wants to merge 1 commit into
apache:masterfrom
weimingdiit:feature/native-bhj-inner-join-condition

Conversation

@weimingdiit

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #2437

Rationale for this change

Auron currently cannot execute Spark broadcast hash joins natively when an inner join contains a residual non-equi condition in addition to its equi-join keys.

Supporting these conditions improves native execution coverage for common broadcast join queries and keeps the condition evaluation inside the join operator.

What changes are included in this PR?

  • Passes the BroadcastHashJoinExec residual condition to NativeBroadcastJoinExec.
  • Converts the residual condition to the existing native JoinFilter representation.
  • Adds the JoinFilter to the native broadcast join protobuf plan.
  • Parses and passes the filter through the native planner.
  • Evaluates the residual condition against candidate rows produced by the broadcast hash lookup.
  • Supports both BuildLeft and BuildRight.
  • Limits residual-condition support to inner broadcast hash joins.
  • Adds Scala and Rust test coverage for both broadcast build sides.

Outer, semi, anti, null-aware anti, and broadcast nested-loop join condition support are not included.

Are there any user-facing changes?

No user-facing API changes. More inner broadcast hash joins with residual conditions can now be executed natively by Auron.

How was this patch tested?

UT.

Was this patch authored or co-authored using generative AI tooling?

  • Yes
  • No

Generated-by: OpenAI Codex (GPT-5)

@weimingdiit
weimingdiit marked this pull request as ready for review July 30, 2026 12:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support inner residual join conditions in native broadcast hash join

1 participant