You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by Norman Jordan <No...@improving.com.INVALID> on 2024/06/13 20:27:49 UTC
[DISCUSS][Java] Protobuf 4.x
Protobuf recently released a 4.x release. This is a breaking change from the 3.x series at least for Java.
One of the most significant changes is the removal of the "GeneratedMessageV3" class. Generated classes would need to be regenerated to no longer extend "GeneratedMessageV3".
Most projects that depend on protobuf-java have not updated yet, including gRPC (GitHub issue<https://github.com/grpc/grpc-java/issues/11015>).
There is some discussion here<https://github.com/protocolbuffers/protobuf/issues/16452#issuecomment-2076360676> and here<https://github.com/protocolbuffers/protobuf/issues/16452#issuecomment-2134644103>. Here is the release schedule<https://protobuf.dev/support/version-support/#java> for protobuf.
From the discussions, the protobuf team is planning another 3.x release that will be compatible with both protobuf 3.x and 4.x. This is intended to help with transitions. To also help with transitions, the protobuf team will continue to provide 3.25.x releases until Q1 2026.
Proposal
*
Continue with the 3.25.x releases until at least gRPC has transitioned to protobuf 4.x
*
Once gRPC has upgraded, update Arrow to use a protobuf 4.x release (or 3.x that is compatible)
*
Use protobuf 4.x if possible
*
Only use protobuf 3.x if some dependencies still require protobuf 3.x compatibility
Re: [DISCUSS][Java] Protobuf 4.x
Posted by Vibhatha Abeykoon <vi...@gmail.com>.
Thanks for initiating this discussion. We recently encountered this issue
[1] as mentioned in this discussion.
I think this sounds like a reasonable plan to me. But I have doubts about
supporting
4,x and 3.x.
[1]. https://github.com/apache/arrow/issues/41997
On Fri, Jun 14, 2024 at 1:59 AM Norman Jordan
<No...@improving.com.invalid> wrote:
> Protobuf recently released a 4.x release. This is a breaking change from
> the 3.x series at least for Java.
>
> One of the most significant changes is the removal of the
> "GeneratedMessageV3" class. Generated classes would need to be regenerated
> to no longer extend "GeneratedMessageV3".
>
> Most projects that depend on protobuf-java have not updated yet, including
> gRPC (GitHub issue<https://github.com/grpc/grpc-java/issues/11015>).
>
> There is some discussion here<
> https://github.com/protocolbuffers/protobuf/issues/16452#issuecomment-2076360676>
> and here<
> https://github.com/protocolbuffers/protobuf/issues/16452#issuecomment-2134644103>.
> Here is the release schedule<
> https://protobuf.dev/support/version-support/#java> for protobuf.
>
> From the discussions, the protobuf team is planning another 3.x release
> that will be compatible with both protobuf 3.x and 4.x. This is intended to
> help with transitions. To also help with transitions, the protobuf team
> will continue to provide 3.25.x releases until Q1 2026.
>
> Proposal
>
> *
> Continue with the 3.25.x releases until at least gRPC has transitioned to
> protobuf 4.x
> *
> Once gRPC has upgraded, update Arrow to use a protobuf 4.x release (or 3.x
> that is compatible)
> *
> Use protobuf 4.x if possible
> *
> Only use protobuf 3.x if some dependencies still require protobuf 3.x
> compatibility
>
>