Skip to content

[SPARK-56737][SQL] Avoid binary-incompatible mode method on BroadcastExchangeLike#55702

Open
viirya wants to merge 1 commit intoapache:masterfrom
viirya:refactor-spark-36082
Open

[SPARK-56737][SQL] Avoid binary-incompatible mode method on BroadcastExchangeLike#55702
viirya wants to merge 1 commit intoapache:masterfrom
viirya:refactor-spark-36082

Conversation

@viirya
Copy link
Copy Markdown
Member

@viirya viirya commented May 6, 2026

What changes were proposed in this pull request?

SPARK-36082 added an abstract def mode: BroadcastMode to the BroadcastExchangeLike trait so that LogicalQueryStageStrategy could distinguish null-aware from regular hashed broadcast stages. Adding an abstract method to a public trait is source- and binary-incompatible for downstream implementations.

Inspect outputPartitioning instead. Every BroadcastExchangeLike must already produce BroadcastPartitioning(mode) to satisfy the BroadcastDistribution(mode) requirement on join sides, so the mode is already exposed through the existing SparkPlan contract and the new abstract method is unnecessary.

Why are the changes needed?

Avoid binary-incompatible mode method on BroadcastExchangeLike.

Does this PR introduce any user-facing change?

No

How was this patch tested?

Exist tests.

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

Generated-by: Claude Code

Follow-up to SPARK-36082. The original change added an abstract
def mode: BroadcastMode to the BroadcastExchangeLike trait so that
LogicalQueryStageStrategy could distinguish null-aware from regular
hashed broadcast stages. Adding an abstract method to a public trait
is source- and binary-incompatible for downstream implementations.

Inspect outputPartitioning instead. Every BroadcastExchangeLike must
already produce BroadcastPartitioning(mode) to satisfy the
BroadcastDistribution(mode) requirement on join sides, so the mode
is already exposed through the existing SparkPlan contract and the
new abstract method is unnecessary.

Co-authored-by: Claude Code
@viirya viirya changed the title SPARK-56737[SQL] Avoid binary-incompatible mode method on BroadcastExchangeLike [SPARK-56737[SQL] Avoid binary-incompatible mode method on BroadcastExchangeLike May 6, 2026
@viirya
Copy link
Copy Markdown
Member Author

viirya commented May 6, 2026

cc @jbharadw-oai @sunchao

@dongjoon-hyun dongjoon-hyun changed the title [SPARK-56737[SQL] Avoid binary-incompatible mode method on BroadcastExchangeLike [SPARK-56737][SQL] Avoid binary-incompatible mode method on BroadcastExchangeLike May 6, 2026
Copy link
Copy Markdown
Member

@dongjoon-hyun dongjoon-hyun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, LGTM.

@dongjoon-hyun
Copy link
Copy Markdown
Member

cc @peter-toth , too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants