Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update protobuf for V4 - serde to work with v4 of protobuf #3047

Open
krickert opened this issue Mar 16, 2024 · 7 comments
Open

Update protobuf for V4 - serde to work with v4 of protobuf #3047

krickert opened this issue Mar 16, 2024 · 7 comments

Comments

@krickert
Copy link

Within the schema registry code for protocol buffers needs to be updated to work with the latest version 4.26

So far I see that GeneratedMessageV3 has been moved to GeneratedMessage. I'm sure there might be many others.

@krickert
Copy link
Author

GeneratedMessageV3 is all in the tests. I'm trying to compile it locally, then I can make a patch

@krickert
Copy link
Author

Has anyone looked into this? It's recommended never to use the GeneratedMessageV3 in code. It's all over the testing suite, but I can't get this to complie on my osx machine. I'd be glad to update the code, it should just work if you change the protocol buffer to the latest, 4.26, and use GeneratedMesasage instead of GeneratedMessageV3

@krickert krickert changed the title grpc has been updated to 4.26, GeneratedMessageV3 has changed to GeneratedMesssage Update protobuf for V4 - serde to work with v4 of protobuf Jun 19, 2024
@ljj7kr
Copy link

ljj7kr commented Aug 9, 2024

In my case

  1. protobuf-java: 4.x version without GeneratedMessageV3
  2. latest(7.7.0) kafka-protobuf libraries uses GeneratedMessageV3
    ex) kafka-protobuf-serializer > kafka-protobuf-provider.ProtobufSchemaUtils > ProtobufSchema uses GeneratedMessageV3
  3. ClassNotFondException: GeneratedMessageV3

Conclusion: Protobuf 4.x version cannot be used in the latest(7.7.0) version of kafka-protobuf.

@krickert
Copy link
Author

krickert commented Aug 9, 2024

In my case

  1. protobuf-java: 4.x version without GeneratedMessageV3
  2. latest kafka-protobuf libraries uses GeneratedMessageV3
    ex) kafka-protobuf-serializer > kafka-protobuf-provider.ProtobufSchemaUtils > ProtobufSchema uses GeneratedMessageV3
  3. ClassNotFondException: GeneratedMessageV3

Conclusion: Protobuf 4.x version cannot be used in the latest version of kafka-protobuf.

You are correct. They have to get rid of the code that references V3

It's slightly more than that right now, I went ahead and changed the references but I got some serialization issues.

It's a pretty big update, probably going to take a bit of time for this and gRPC to catch up

@venkatduddu
Copy link

@confluent-alec-kendall @confluent-antonio @confluent-bijinabraham @ConfluentChris
Hi Team,
Do you know if this upgrade is being planned anytime soon? or any known workarounds to solve this issue.

@krickert
Copy link
Author

krickert commented Dec 3, 2024

@venkatduddu I don't even thing grpc has v4 yet - so I doubt you'll see it happen in this plugin before that

@niloc132
Copy link

niloc132 commented Dec 3, 2024

Please note that grpc-java supports protobuf v4, but doesn't yet require it. See discussion at grpc/grpc-java#11015 - they are waiting for more downstream uptake before making that switch and mandating v4.

Since grpc-java is already compatible with v4, it is only projects like schema-registry being stuck on v3 that prevent other downstream projects from updating.

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

No branches or pull requests

4 participants