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 710AF200C5D for ; Fri, 24 Mar 2017 02:49:02 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 6F8A1160B84; Fri, 24 Mar 2017 01:49:02 +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 8D0F1160B83 for ; Fri, 24 Mar 2017 02:49:01 +0100 (CET) Received: (qmail 58935 invoked by uid 500); 24 Mar 2017 01:48:59 -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 58655 invoked by uid 99); 24 Mar 2017 01:48:58 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Mar 2017 01:48:58 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 69338C132E for ; Fri, 24 Mar 2017 01:48:58 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.63 X-Spam-Level: ** X-Spam-Status: No, score=2.63 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 4hUUcgBuonkf for ; Fri, 24 Mar 2017 01:48:56 +0000 (UTC) Received: from mail-vk0-f41.google.com (mail-vk0-f41.google.com [209.85.213.41]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 37E045F3F5 for ; Fri, 24 Mar 2017 01:48:56 +0000 (UTC) Received: by mail-vk0-f41.google.com with SMTP id r69so1141236vke.2 for ; Thu, 23 Mar 2017 18:48:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=mxLIehH+3azTelZlXwMfA9rgkzcyK9mRBVfVGbbcLko=; b=KvmiGgzvt8Cj2FE6cW/SlNXGfbKsGioqCOiRFKdhE8g30+sAHaGQYiRhlu0w/ZxfAB GhnZIeKKFdRE19EBmWu1azLfQLDufwuwRPKipiBXyR0cB+71cweOrqW62jic9neSfeqc JOhQWexc446H+isuh3U4HGcrmtmP4wsUoHQg90rKqAY7UDsFwF/KyxMemNY/obbgrwbN wfmTLRtqQdmGQEv+oZJKhIzYUe14WANBopq+U+CgFaH1nTbWIzrU/4Mig+iNwS4kagN2 LikmPaTxTg11yr5Tb7sl5hZ0mGmkRphrf5m8LES/26XaeI3smr569zkzhq3vGDA9PAKo YKlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=mxLIehH+3azTelZlXwMfA9rgkzcyK9mRBVfVGbbcLko=; b=EuUrTanSmNZPGoBMeuBRg6bpdVEdnKkzimp80OPZ3793GTglc0+m16fHbW5GcuSAqI rBT7eNArruw7qBT3QzegjYHxY5z35U8uO4Tmlr/lXtTxrz1w1Fr+MfjnlWvKuOD1/iIH JK1Dp1G7HtJYE/P+vnTTuZtdEdK8qIRU8y3muJMyt7xlgXuutNVFvh3SNcbrlnoAp/Z6 wSgtyEuSYQ7vqkxQwEoO6ZaXZ2vghS0G7HNpMStZqDazUzrMt4ojbDs0eL+NxAaqlbbj 3P47RYixmRe2ul/YAuxl/+aSSmH0ZQVzaWtVmn+Gk9aopFG+MTMl69L1NbxYGIz07Ph+ j3+Q== X-Gm-Message-State: AFeK/H2dPjFh6mEz24i9d9nmu73VGcf7WsSW56ROTfqImAXMy8fGuK6/QUHvW0gFmxjs964ce9KEiskTxbDl/g== X-Received: by 10.176.84.76 with SMTP id o12mr2959875uaa.132.1490320130039; Thu, 23 Mar 2017 18:48:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.159.35.55 with HTTP; Thu, 23 Mar 2017 18:48:49 -0700 (PDT) In-Reply-To: References: From: =?UTF-8?B?5byg6ZOOKER1byBaaGFuZyk=?= Date: Fri, 24 Mar 2017 09:48:49 +0800 Message-ID: Subject: Re: About the InterfaceStability annotation for public API To: dev@hbase.apache.org Content-Type: multipart/alternative; boundary=94eb2c1b2df2f3e83d054b703147 archived-at: Fri, 24 Mar 2017 01:49:02 -0000 --94eb2c1b2df2f3e83d054b703147 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Filed https://issues.apache.org/jira/browse/HBASE-17828 2017-03-21 8:36 GMT+08:00 =E5=BC=A0=E9=93=8E(Duo Zhang) : > bq. If someone is > comfortable with the risk of an API that can change in minor or > maintenance releases, what's gained by calling it IA.Public + > IS.Evolving or Unstable rather than just labeling it IA.Private or > IA.LimitedPrivate? > > Indeed. We can not stop users use IA.Private classes if they are declared > as public class. The users take the risk by themselves. > > Anyway, seems we all agree that at least we need to update our > documentation. So let me open a issue first. We can continue the discussi= on > there. > > Thanks. > > 2017-03-21 4:27 GMT+08:00 Jerry He : > >> Just to bring up an alternative idea. >> The Spark InterfaceStability explicitly spells out what can or can not >> change from major or minor releases. (I was onto it recently). >> See [1] >> >> HBase is probably a more stable project that does not have to do the sam= e. >> But it is also possible that we may have new features (i.e. AsyncClient, >> Backup, etc) that we want to evolve within a major release. >> We should see if we want to provide such flexibility via the >> InterfaceStability annotations and document it explicitly if yes. >> >> Thanks, >> >> Jerry >> >> >> 1. https://github.com/apache/spark/blob/master/common/tags/ >> src/main/java/org/apache/spark/annotation/InterfaceStability.java >> >> >> >> >> On Mon, Mar 20, 2017 at 10:46 AM, Yu Li wrote: >> >> > +1 on removing InterfaceStability annotation for IA.Public. Even more, >> is >> > it possible to forbid using these two annotations together in Yetus at >> > code-level if we are migrating to it (as mentioned in another thread)? >> > >> > For IA.Private or IA.LimitedPrivate, personally I think >> InterfaceStability >> > is still a useful annotation. >> > >> > Best Regards, >> > Yu >> > >> > On 20 March 2017 at 22:07, Sean Busbey wrote: >> > >> > > I really dislike having InterfaceStability markings on IA.Public >> > > interfaces, because to me it reads like us essentially saying we >> > > didn't invest enough time in deciding what something should look lik= e >> > > before declaring it safe for downstream folks. If someone is >> > > comfortable with the risk of an API that can change in minor or >> > > maintenance releases, what's gained by calling it IA.Public + >> > > IS.Evolving or Unstable rather than just labeling it IA.Private or >> > > IA.LimitedPrivate? >> > > >> > > So I'd be +1 on updating our docs to state that InterfaceStability i= s >> > > just for IA.LimitedPrivate or even discontinuing our use of it >> > > entirely. >> > > >> > > On Sun, Mar 19, 2017 at 11:28 PM, Duo Zhang >> wrote: >> > > > In the compatibility section of our refguide, the compatibility fo= r >> > patch >> > > > version, minor version and major version is not related >> > > > to InterfaceStability annotation. The only place we mention it is >> for >> > > > Server-Side Limited API compatibility. >> > > > >> > > > And in the Developer Guidelines section, we say this >> > > > @InterfaceStability.Evolving >> > > > >> > > > Public packages marked as evolving may be changed, but it is >> > discouraged. >> > > > I think this is a little confusing, esepecially that the comment >> > > > of InterfaceStability also mentions the compatibility for patch, >> minor >> > > and >> > > > major release. >> > > > >> > > > For me, I think only InterfaceStability.Unstable is useful for >> public >> > > API. >> > > > It means the API is still experimental and will not respect the >> > > > compatibility rule. >> > > > >> > > > So here I suggest we just remove the InterfaceStability annoation >> for >> > the >> > > > classes which are marked as InterfaceAudience.Public, and change t= he >> > > > comment of InterfaceStability and also the refguide to be more >> > specific. >> > > > >> > > > Suggestions are welcomed. >> > > > >> > > > Thanks. >> > > >> > >> > > --94eb2c1b2df2f3e83d054b703147--