I agree that the protobuf 2.4.1 -> 2.5.0 transition could have been handled a lot better by Google. Specifically, since it was an API-breaking upgrade, it should have been a major version bump for the Java library version. I also feel that removing the download links for the old versions of the native libraries was careless, and certainly burned some of our Hadoop users.
However, I don't see any reason to believe that protobuf 2.6 will not be wire-compatible with earlier versions. Google has actually been pretty good about preserving wire-compatibility... just not about API compatibility. If we want to get a formal statement from the project, we can, but I would be pretty shocked if they decided to change the protocol in a backwards-incompatible way in a minor version release. I do think there are some potential issues for our users of bumping the library version in a minor Hadoop release. Until we implement full dependency isolation for Hadoop, there may be some disruptions to end-users from changing Java dependency versions. Similarly, users will need to install a new native protobuf library version as well. So I think we should bump the protobuf versions in Hadoop 3.0, but not in 2.x. cheers, Colin On Fri, May 15, 2015 at 4:55 AM, Alan Burlison <alan.burli...@oracle.com> wrote: > On 15/05/2015 09:44, Steve Loughran wrote: > >> Now: why do you want to use a later version of protobuf.jar? Is it >> because "it is there"? Or is there a tangible need? > > > No, it's because I'm looking at this from a platform perspective: We have > other consumers of ProtoBuf beside Hadoop and we'd obviously like to > minimise the versions of PB that we ship, and preferably just ship the > latest version. The fact that PB seems to often be incompatible across > releases is an issue as it makes upgrading and dropping older versions > problematic. > > -- > Alan Burlison > --