Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id AB1C7200B6B for ; Fri, 9 Sep 2016 20:11:18 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A99A5160AC2; Fri, 9 Sep 2016 18:11:18 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 24DF8160AA3 for ; Fri, 9 Sep 2016 20:11:17 +0200 (CEST) Received: (qmail 34040 invoked by uid 500); 9 Sep 2016 18:11:17 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 34017 invoked by uid 99); 9 Sep 2016 18:11:17 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Sep 2016 18:11:17 +0000 Received: from hw10447.local (207.155.208.210.ptr.us.xo.net [207.155.208.210]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id AE45C1A0187; Fri, 9 Sep 2016 18:11:16 +0000 (UTC) Message-ID: <57D2FB42.2050409@apache.org> Date: Fri, 09 Sep 2016 14:11:14 -0400 From: Josh Elser User-Agent: Postbox 3.0.11 (Macintosh/20140602) MIME-Version: 1.0 To: dev@hbase.apache.org CC: user@hbase.apache.org Subject: Re: [DISCUSS] Drop the support of jdk7 at a future 1.x release References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit archived-at: Fri, 09 Sep 2016 18:11:18 -0000 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" 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. >> >