Skip to content

[AURON #2540] Support residual conditions in native shuffled hash joins - #2552

Merged
richox merged 1 commit into
apache:masterfrom
Deegue:auron_#2540_support_rc_in_shj
Sep 30, 2026
Merged

richox merged 1 commit into
apache:masterfrom
Deegue:auron_#2540_support_rc_in_shj

Conversation

@Deegue

@Deegue Deegue commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #2540

Rationale for this change

Native shuffled hash joins currently support residual conditions only for inner joins. Outer, semi, anti, and existence joins with additional conditions therefore fall back to Spark.

With residual-condition evaluation now available in the native hash join engine, this PR extends SHJ conversion to use it, preserving the matching and unmatched-row semantics required by each join type.

What changes are included in this PR?

  • Remove the inner-only restriction for residual conditions in native SHJ planning and conversion.
  • Support residual conditions for both explicit SHJ plans and forced SMJ-to-SHJ conversion.
  • Add regression tests covering join types, build sides, nulls, existence joins, ordering, and the existing configuration switch.

Are there any user-facing changes?

No.

How was this patch tested?

UTs.

@richox
richox merged commit 96595f9 into apache:master Sep 30, 2026
134 checks passed
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 and extend residual conditions in native shuffled hash joins

2 participants