test: guard native plan equality against omitted parameters by rich7420 · Pull Request #5953 · apache/datafusion-comet · GitHub
Skip to content

test: guard native plan equality against omitted parameters - #5953

Open
rich7420 wants to merge 1 commit into
apache:mainfrom
rich7420:test/5831-plan-equality-guard-upstream
Open

rich7420 wants to merge 1 commit into
apache:mainfrom
rich7420:test/5831-plan-equality-guard-upstream

Conversation

@rich7420

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Related to #5831; builds on the fixes in #5828.

Rationale for this change

A new constructor field can be omitted from a native operator's handwritten equals, allowing exchange reuse between different plans. A structural guard makes each omission require an explicit decision.

What changes are included in this PR?

Discover native plan classes and check constructor parameters against reads in equals or documented exclusions. Add a negative fixture and register the suite in Linux and macOS CI.

CometBroadcastExchangeExec.mode is explicitly excluded because Comet broadcasts mode-independent Arrow batches. This preserves its current reuse behavior; the guard checks field coverage rather than proving equality semantics.

How are these changes tested?

Both CometPlanEqualitySuite tests pass in the local verification run on Spark 4.1.3 / JDK 21 after rebasing onto main. Formatting and Scalastyle passed. Cross-version fork CI passed before rebasing. The PR contains only the guard and CI registration; #5828's production fixes are already on main.

@github-actions github-actions Bot added enhancement New feature or request test Testing related labels Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request test Testing related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant