Hi, I am trying to understand how to manage the difference in runtime 
classes across protobuf versions.

Protobuf is designed so that people are able to evolve versions of their 
own schemas without breaking things. This has some limitations, but in some 
way works.

The real issue arises when having to do with multiple versions of protobuf 
itself. Let me take an example: on a new project (written in Scala, using 
protobuf for Java) we would like to try Protobuf 3. But we have to talk to 
HBase, and the client itself uses protobuf 2.5.0. We have tried using 
protobuf 3 and hoping for backward compatibility, but of course everything 
borke at runtime. So we settled for protobuf 2.5.0. But now we would also 
need to integrate some things with Apache Kudu. And of course, they use 
protobuf 2.6.1, and that exact version is required.

Since only one version of protobuf can be on the classpath at any time, 
this becomes more and more of a problem as the projects using protobuf for 
their own internal protocol increase.

Does anyone know a way to handle this problem effectively?

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to