Skip to content

feat!: remove deprecated Aggregate.Grouping.grouping_expressions#1002

Open
nielspardon wants to merge 1 commit intosubstrait-io:mainfrom
nielspardon:par-depr-grouping
Open

feat!: remove deprecated Aggregate.Grouping.grouping_expressions#1002
nielspardon wants to merge 1 commit intosubstrait-io:mainfrom
nielspardon:par-depr-grouping

Conversation

@nielspardon
Copy link
Copy Markdown
Member

@nielspardon nielspardon commented Mar 10, 2026

BREAKING CHANGE: removed Aggregate.Grouping.grouping_expressions field

In September 2024 #706 introduced the Aggregate.Grouping.expression_references replacing Aggregate.Grouping.grouping_expressions. This PR removes the deprecated field.


This change is Reviewable

@nielspardon nielspardon self-assigned this Mar 10, 2026
@nielspardon nielspardon marked this pull request as ready for review March 10, 2026 12:51
@benbellick
Copy link
Copy Markdown
Member

Same comment as in the other PR:

I haven't investigated myself yet but has this migration been managed within the reasonably maintained implementation libraries? (For us, this means substrait-{go, java, py, rs})

@benbellick
Copy link
Copy Markdown
Member

AFAICT substrait-java still emits the old field and not the new one. It does accept both. The handling was introduced here

@nielspardon
Copy link
Copy Markdown
Member Author

Same comment as in the other PR:

I haven't investigated myself yet but has this migration been managed within the reasonably maintained implementation libraries? (For us, this means substrait-{go, java, py, rs})

@benbellick
Copy link
Copy Markdown
Member

substrait-rs is really just a wrapper around the protos so as long as the protos are up to date, there is no problem.


Looks like we will need to resolve the substrait-java issue though. I think it makes sense to let that release of substrait-java with that change sit for some time (>1month).

@nielspardon
Copy link
Copy Markdown
Member Author

Looks like we will need to resolve the substrait-java issue though. I think it makes sense to let that release of substrait-java with that change sit for some time (>1month).

I don't think that is necessary. We don't really have a 1.0 release of substrait / substrait-java so I think it should be ok to introduce such changes without long wait times especially since we had this protobuf change deprecated for almost 1.5 years now. A lot of people don't pay attention to deprecations anyway and only update their code when they are forced to.

@nielspardon
Copy link
Copy Markdown
Member Author

nielspardon added a commit to substrait-io/substrait-java that referenced this pull request Mar 16, 2026
…744)

Changes the `RelProtoConverter` to output the new and the old
grouping behavior keeping the existing `io.substrait.relation.Aggregate`
behavior the same.

relates to #299 and
substrait-io/substrait#1002

---------

Signed-off-by: Niels Pardon <par@zurich.ibm.com>
BREAKING CHANGE: removed Aggregate.Grouping.grouping_expressions field

Signed-off-by: Niels Pardon <par@zurich.ibm.com>
@nielspardon nielspardon added the PMC Ready PRs ready for review by PMCs label Mar 23, 2026
@benbellick
Copy link
Copy Markdown
Member

We are currently performing the substrait-java upgrade internally v0.86.0 which includes the contribution from @nielspardon to emit both the old and new fields. However, the upgrade is not finished.

As such, I request that we withhold from performing this breaking change until I can confirm that it will have no impact on our systems. Thanks!

@nielspardon
Copy link
Copy Markdown
Member Author

nielspardon commented Mar 24, 2026

We are currently performing the substrait-java upgrade internally v0.86.0 which includes the contribution from @nielspardon to emit both the old and new fields. However, the upgrade is not finished.

As such, I request that we withhold from performing this breaking change until I can confirm that it will have no impact on our systems. Thanks!

Does merging a PR into the Substrait spec repo automatically trigger an upgrade of your internal consumers? Isn't there a cascade of steps in between like:

  • first a new release of Substrait
  • a PR for the Substrait SDKs which need to be reviewed, approved, merged to update Substrait in the SDKs
  • a new release of the Substrait SDKs including the Substrait update
  • PRs for your internal systems to pick up the new Substrait SDK versions

@vbarua
Copy link
Copy Markdown
Member

vbarua commented Mar 25, 2026

Does merging a PR into the Substrait spec repo automatically trigger an upgrade of your internal consumers?

It does not, but it prevents us from picking up other useful changes after this get merged.

A lot of people don't pay attention to deprecations anyway and only update their code when they are forced to.

That's us in this case 😓. I do appreciate you pushing through on removing these deprecations. It's a good forcing function for us to finish off our own internal migrations. For this, I think we should be set soon, but we would appreciate holding off for a couple more days.

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

Labels

PMC Ready PRs ready for review by PMCs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants