Yeah I'm currently working on HBASE-16591 to bring our master build
pipeline to jdk8 only...

2016-09-10 2:11 GMT+08:00 Josh Elser <els...@apache.org>:

>
>
> Sean Busbey wrote:
>
>> This would be a very big breaking change in release numbering that goes
>> against our compatibility guidelines. We only drop support for Java
>> versions on major releases.
>>
>> If we want features that require newer jdks sooner, we should make major
>> releases sooner.
>>
>
> +1 On this exactly
>
>
> On Sep 8, 2016 20:54, "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.
>>>
>>>
>>

Reply via email to