accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Busbey <bus...@cloudera.com>
Subject Re: [DISCUSS] Java 8 support (was Fwd: [jira] [Commented] (ACCUMULO-4177) TinyLFU-based BlockCache)
Date Mon, 02 May 2016 18:19:20 GMT
On Mon, May 2, 2016 at 8:55 AM, Josh Elser <josh.elser@gmail.com> wrote:
> Thanks for the input, Sean.
>
> Playing devil's advocate: we didn't have a major version bump when we
> dropped JDK6 support (in Accumulo-1.7.0). Oracle has EOL'ed java 7 back in
> April 2015. Was the 6->7 upgrade different than a 7->8 upgrade?
>

On Mon, May 2, 2016 at 10:31 AM, Keith Turner <keith@deenlo.com> wrote:
> On Mon, May 2, 2016 at 1:54 AM, Sean Busbey <busbey@cloudera.com> wrote:
>
>> If we drop jdk7 support, I would strongly prefer a major version bump.
>>
>
>
> Whats the rationale for binding a bump to Accumulo 2.0 with a bump in the
> JDK version?
>

The decision to drop JDK6 support happened in late march / early April
2014[1], long before any of our discussions or decisions on semver.
AFAICT it didn't get discussed again, presumably because by the time
we got to 1.7.0 RCs it was too far in the past.

JDK7 is still very common (both generally[2] and in the customers I
see that run Accumulo). If we start shipping client jars that require
java 8, we
are by definition causing a runtime breakage for any of those folks
who already deploy + run JDK7 and don't yet run JDK8.

I'm fine with giving folks an incentive to upgrade to JDK8, but a JDK
version bump is a big deal. There will be some folks with client code
that requires changes to work with JDK8, there will be ops folks who
have to go through a change process to update the runtime deployed on
their clusters, and there will be lots of cases where the ops folks
have to communicate the need to update client JVM versions to a wider
organization. The best way to signal the need for this extra work is
to bump our major version.

This also has impact on downstream projects. For example, YCSB still
supports JDK7. For datastores that require JDK8 we have to play maven
games and in some cases maintain different client modules. It'll be
easier to explain that in terms of Accumulo 1.y and 2.y than "versions
up to, but not include 1.8" and "1.8 and later".


[1]: https://issues.apache.org/jira/browse/ACCUMULO-905
[2]: https://plumbr.eu/blog/java/java-version-and-vendor-data-analyzed-2016-edition


-- 
busbey

Mime
View raw message