For a company upgrade JDK to 8 will change many things. So if we drop the
support for less than JDK 8 at 1.4, then It is probable that people neither
upgrade JDK to 8 nor upgrade HBase to 1.4. And they will use JDK 7 + HBase
1.3 for a long time.
But actually upgrade JDK to 8 is not a big deal. They are just scaring.

2016-09-08 21:01 GMT-07:00 Dima Spivak <dimaspi...@apache.org>:

> I'd worry about doing this from both the client-server compatibility side
> as well as for when it comes to upgrades. Having to go between Java
> versions is way scarier for ops people than just swapping JARs.
>
> On Thursday, September 8, 2016, Duo Zhang <zhang...@apache.org> wrote:
>
> > The main reason is the asynchronous api we want to introduce in HBase
> > today. See HBASE-13784 and HBASE-16505.
> >
> > The CompletableFuture in java8 is very suitable to use as the return
> value
> > of a async method. We can not use it if we still want to support java7,
> and
> > sadly, there is no candidate which is good enough to replace
> > CompletableFuture. ListenableFuture in guava or Promise in netty are
> good,
> > but we do not want to expose third-party classes in our public
> > API(especially guava, you know...). And we can also implement our own
> > ListenableFuture but it just a copy of guava. Or introduce a simple
> > Callback interface which does not need much code(for us) but this is a
> code
> > style around 2000s so people will not like it...
> >
> > And luckily, I found that in our documentation
> >
> > http://hbase.apache.org/book.html#basic.prerequisites
> >
> > We only say that 1.3 will be compatible with jdk7, not all 1.x.
> >
> > So here I propose that we drop the support of jdk7 in a future 1.x
> release,
> > maybe 1.4? Thus we can use CompletableFuture in both master and branch-1.
> >
> > Thanks.
> >
>
>
> --
> -Dima
>

Reply via email to