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 D41E0200AEF for ; Sat, 28 May 2016 19:07:55 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id D280E160A1A; Sat, 28 May 2016 17:07:55 +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 24345160939 for ; Sat, 28 May 2016 19:07:54 +0200 (CEST) Received: (qmail 33626 invoked by uid 500); 28 May 2016 17:07:54 -0000 Mailing-List: contact yarn-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list yarn-dev@hadoop.apache.org Received: (qmail 33607 invoked by uid 99); 28 May 2016 17:07:53 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 28 May 2016 17:07:53 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 6E2EF180591 for ; Sat, 28 May 2016 17:07:53 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.979 X-Spam-Level: * X-Spam-Status: No, score=1.979 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=cloudera-com.20150623.gappssmtp.com Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id gydX87psnrzu for ; Sat, 28 May 2016 17:07:51 +0000 (UTC) Received: from mail-yw0-f177.google.com (mail-yw0-f177.google.com [209.85.161.177]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id 6AA865F4E9 for ; Sat, 28 May 2016 17:07:50 +0000 (UTC) Received: by mail-yw0-f177.google.com with SMTP id o16so131995632ywd.2 for ; Sat, 28 May 2016 10:07:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudera-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=lqDbydbvRf1Ix58irREg7r9zeLG6YpBnZJDo0txznkA=; b=LWxF9VoeNbZ1v8Uj1byjJhRU667SQA+h0txMTosnWuJdBv4GXehudcWumSGVblCa5E Y9NbvVzklBstN/JguVgcX0qnaDD9dkO9AXyJt2KxXQPR+gvSh9KnEwteX4nV1yE1r3cK mDQsRfyHF2WWYFZSTBBqLi0JEWiqT5W6qQTiwXbN856HzedRaV7pJxWrBGQSxARN3tvt Tgwo49bdxauazY6Brycz22nmdgGFJKcu8ABKSXOIChN8w+c3gJZ7P5YEbyAU6JnQas8b bZeEELS4j9pbPZ3WnpE62BrqSmLvatMyDTUVZGkyk3PZ8907mzVMsf0ngf2BWZm1nNAB 6geg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=lqDbydbvRf1Ix58irREg7r9zeLG6YpBnZJDo0txznkA=; b=WDuUVMPLqrqEz5Stg0hXaUsBhW7hAFcs4yfcKcWEUiKzQRL0s70gqOtnuGTVXlzd3B LAQYOkkrjF2CtQCatzvyMUJluhJm1/ga/dcdRatXoviLxpzNDnmhkhHXbFsGCf1NNWRb SDQNoitCyz6bT2S5obgCJTlhhzU9i3kbSMTMt3qO0pr1r7vlsrWuSddTxcDpnbSUBrb9 GOSZRkPL2N7d44plZjBM3qk+ROdsHCcKnzZ9y8/GY/QITeovNHjeSqnHnOqnJ+KnZV3y h+aXOGry/udDcyhdTYOmFpKVpqm0F8KeUN/TOJ0dZUQMkWmZAEjTgU8amhPIRlRaT/+d yi7w== X-Gm-Message-State: ALyK8tKrznfsMWOfqypA93+yaV7DLtQo35ewIgkwbo4sJwI+/B63JdWjU5eLc3/WvcjDRiFBa8Fx40pzisPf4/FZ MIME-Version: 1.0 X-Received: by 10.129.120.196 with SMTP id t187mr11440311ywc.78.1464455262898; Sat, 28 May 2016 10:07:42 -0700 (PDT) Received: by 10.13.193.199 with HTTP; Sat, 28 May 2016 10:07:42 -0700 (PDT) In-Reply-To: <140D71EF-F7D6-4D7C-B370-401A8561164E@hortonworks.com> References: <140D71EF-F7D6-4D7C-B370-401A8561164E@hortonworks.com> Date: Sat, 28 May 2016 10:07:42 -0700 Message-ID: Subject: Re: [DISCUSS] what exactly are the stability guarantees of the YARN APIs From: Karthik Kambatla To: Steve Loughran Cc: "yarn-dev@hadoop.apache.org" Content-Type: multipart/alternative; boundary=94eb2c0b0820bc4f420533ea0f93 archived-at: Sat, 28 May 2016 17:07:56 -0000 --94eb2c0b0820bc4f420533ea0f93 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Inline. On Sat, May 28, 2016 at 3:51 AM, Steve Loughran wrote: > > In SLIDER-1130, I discovered that some changes to some YARN classes had > broken my test code =E2=80=94new abstract methods had been defined, which= broke the > subclasses I have to mock a YARN cluster. These are invaluable classes, a= s, > once eventually the hadoop regressions had been worked around, they showe= d > that the label code was broken ( YARN-5135 ) and the fixYARN-4991 not > backported to branch-2 > > If the classes that had changed were tagged as @Private or @Evolving, I'd > have just said, "oh well, never mind" > > Except, the two interfaces that broke: ContainerStatus and NodeReport =E2= =80=94are > marked @Public, @Stable > > Given that my code broke, I don't believe that the guarantees of a @Stabl= e > interface, "Can evolve while retaining compatibility for minor release > boundaries; in other words, incompatible changes to APIs marked Stable ar= e > allowed only at major releases (i.e. at m.0)." are being kept. > > Now, in YARN-5130, we now have a patch to remark the interfaces as > Unstable. > > However, while I can apply that patch myself, I want to raise a broader > question: what does the Yarn team consider constitutes "stable"? > > And do that changes that took place in YARN-3886 and YARN-2882 meet thos= e > requirements? New methods are going in, some of which are now being tagge= d > as @Evolving? > I fail to see how something marked as @Stable can add @Evolving methods, > and given that changes are breaking downstream code, I worry that not > enough care is being taken over the maintenance of the guarantee which > @Public, @Stable interfaces make to users > Are you referring to adding @Evolving methods to @Stable classes? If yes, my understanding is - the annotations are per-method and the class annotations are a convenience to avoid having to annotate each method. > > > > -Steve > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: yarn-dev-unsubscribe@hadoop.apache.org > For additional commands, e-mail: yarn-dev-help@hadoop.apache.org > > --94eb2c0b0820bc4f420533ea0f93--