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 8B0EE200B6B for ; Fri, 9 Sep 2016 19:50:58 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 72FFF160AC2; Fri, 9 Sep 2016 17:50:58 +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 BC3DA160AA3 for ; Fri, 9 Sep 2016 19:50:57 +0200 (CEST) Received: (qmail 48162 invoked by uid 500); 9 Sep 2016 17:50:56 -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 48136 invoked by uid 99); 9 Sep 2016 17:50:55 -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 17:50:55 +0000 Received: from mail-ua0-f170.google.com (mail-ua0-f170.google.com [209.85.217.170]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 5C88B1A0187; Fri, 9 Sep 2016 17:50:55 +0000 (UTC) Received: by mail-ua0-f170.google.com with SMTP id 31so74329799uao.0; Fri, 09 Sep 2016 10:50:55 -0700 (PDT) X-Gm-Message-State: AE9vXwMi2Rwm+DE2qbQvAb4TixuW6yTNlOSeQxw8g2e4KwtBxvKhF0BqyKg2uMjbXhWEB2HDMYOvyZXoEqk+9g== X-Received: by 10.176.6.6 with SMTP id f6mr3342703uaf.46.1473443454727; Fri, 09 Sep 2016 10:50:54 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.133.79 with HTTP; Fri, 9 Sep 2016 10:50:54 -0700 (PDT) Received: by 10.31.133.79 with HTTP; Fri, 9 Sep 2016 10:50:54 -0700 (PDT) In-Reply-To: References: From: Sean Busbey Date: Fri, 9 Sep 2016 12:50:54 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [DISCUSS] Drop the support of jdk7 at a future 1.x release To: dev Cc: user@hbase.apache.org Content-Type: multipart/alternative; boundary=94eb2c0481f8b74fad053c16c968 archived-at: Fri, 09 Sep 2016 17:50:58 -0000 --94eb2c0481f8b74fad053c16c968 Content-Type: text/plain; charset=UTF-8 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. 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. > --94eb2c0481f8b74fad053c16c968--