> On 15 Jun 2015, at 22:31, Colin P. McCabe <cmcc...@apache.org> wrote:
> 
> On Mon, Jun 15, 2015 at 7:24 AM, Allen Wittenauer <a...@altiscale.com> wrote:
>> 
>> On Jun 12, 2015, at 1:03 PM, Alan Burlison <alan.burli...@oracle.com> wrote:
>> 
>>> On 14/05/2015 18:41, Chris Nauroth wrote:
>>> 
>>>> As a reminder though, the community probably would want to see a strong
>>>> justification for the upgrade in terms of features or performance or
>>>> something else.  Right now, I'm not seeing a significant benefit for us
>>>> based on my reading of their release notes.  I think it's worthwhile to
>>>> figure this out first.  Otherwise, there is a risk that any testing work
>>>> turns out to be a wasted effort.
>>> 
>>> One reason at least: PB 2.5.0 has no support for Solaris SPARC. 2.6.1 does.

to be ruthless, that's not enough reason to upgrade branch-2, due to the 
transitive pain it makes all the way down.

>> 
>> 
>>        That's a pretty good reason.
>> 
>>        Some of us had a discussion at Summit about effectively forking 
>> protobuf and making it an Apache TLP.  This would give us a chance to get 
>> out from under Google's blind spot, guarantee better compatibility across 
>> the ecosystem, etc, etc.
>> 
>>        It is sounding more and more like that's really what needs to happen.
> 
> I agree that it would be nice if the protobuf project avoided making
> backwards-incompatible API changes within a minor release.  But in
> practice, we have had the same issues with Jackson, Guava, jets3t, and
> other dependencies.  Nearly every important Hadoop dependency has made
> backwards-incompatible API changes within a minor release of the
> dependency... and that's one reason we are using such old versions of
> everything.  I don't think PB deserves to be singled out as much as it
> has been.

I think it does deserve as it was such an all-or-nothing change. Guava, well, 
we may keep it at 11.0, but we've made sure there are no classes used which 
aren't in the latest versions. Even where we depend on artifacts which need 
later versions (curator-2.7.1) we've addressed the version problem by verifying 
that you can actually rebuild curator with guava<-11.0 with everything working 
(curator-x-discovery doesn't compile, but we don't use that). So we know that 
unless a bit of curator uses reflection, we can run it against 11.x. And if 
someone wants to use a later version of Guava + hadoop-common, they can swap it 
in and hadoop will still work. Which is important as on Java 8u45 + you do need 
a recent Guava.

In contrast, protobuf needed a co-ordinate update across everything, every 
project which had checked in their generated protobuf files had to rebuild and 
check in, which guarantees they could no longer work with protobuf 2.4

Jackson? its broken-ness wasn't so obvious: if we'd known I wouldn't have let 
it go updated. It's now on the risk list and I don't see us updating that for a 
long time.

>  I think the work going on now to implement CLASSPATH
> isolation in Hadoop will really be beneficial here because we will be
> able to upgrade without worrying about these problems.


+1

Reply via email to