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 37744200B68 for ; Fri, 19 Aug 2016 17:46:03 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 35DBB160AAB; Fri, 19 Aug 2016 15:46:03 +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 57382160A79 for ; Fri, 19 Aug 2016 17:46:02 +0200 (CEST) Received: (qmail 563 invoked by uid 500); 19 Aug 2016 15:46:01 -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 545 invoked by uid 99); 19 Aug 2016 15:46:00 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Aug 2016 15:46:00 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 5511EC94DB for ; Fri, 19 Aug 2016 15:46:00 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.179 X-Spam-Level: * X-Spam-Status: No, score=1.179 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id n1K2GWMRQCQM for ; Fri, 19 Aug 2016 15:45:56 +0000 (UTC) Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id 6173C5FADE for ; Fri, 19 Aug 2016 15:45:56 +0000 (UTC) Received: by mail-wm0-f49.google.com with SMTP id i5so47215413wmg.0 for ; Fri, 19 Aug 2016 08:45:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=Vic1dn1tPDE7PuCu8IfTZPoMeh2gFZ5Z5AZX7TUFP5w=; b=uGff9rREkYH9Rv2bJQk6nu6ny30MEcFZEsGFEO47O4QSaXRs+CttH7lwUV8hFBAX2z BXQL5LxkxGFdK46JUiN/3SQAyqqLzEpaKWgNgqnYr8Aiw4LibpH71cv/cXUiHyfYlq2b aLkMLQgAxjiFW2IzANhVak/ghLNTTEOoiBwJs0BnO/UdLeDaX7acGktoCC1OJrS0pemw YyC6Y4PNux5qYYzH2ohcXHv/mjNjbnZfKBaqYqojpcE0UPI6QO6L/5loTmyR8zgRpdJ1 kdXoWIlAzRSH6o78e5C2KPx/xeUoQlDRpPaF4PPopq3V4it25HQ6h5GIbDl8Nb9zIthU WRVw== 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:from:date :message-id:subject:to; bh=Vic1dn1tPDE7PuCu8IfTZPoMeh2gFZ5Z5AZX7TUFP5w=; b=J++VimRXrn1s+60LiEMPAolPuD8LgDBUJbcboFVlnsr1cOR/4H4+MDpj3Or8VA9vnz LWJSDHlN5E9KvsEDVDzD0JuXaJgQTLGN4X2AJ4uwVfkSI2KfNrMHbemfsN20oRd8GhNe Ie4Sa3UGEmoQG9sd1I3W0jOTB5FnEDlGD4RzAdWJ6K0qnnWLLt8Yz72Qowdtkxb0dJAj GH5JUrJ5WJDkGT7xBbq38+9GlEW3zxSPxHuklzl/LYn1Wfhop9ut10EYAqK1IUIY3JMj 7T986vz1FYrPE80Zm1txqDLvLXra8UZ73Td5KOs40Ch9Fh2UgYm/SDNL8Y1Lcbp1bFQv NCMQ== X-Gm-Message-State: AEkoout/7XwvEQraRaVNHT7ZKnEfLN7sNBBGEpYFBrefijzBLJvULPne6EWQN/JqkUFLy83sSda/QM/7o7WJaw== X-Received: by 10.194.200.36 with SMTP id jp4mr2764123wjc.26.1471621549965; Fri, 19 Aug 2016 08:45:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.54.164 with HTTP; Fri, 19 Aug 2016 08:45:48 -0700 (PDT) In-Reply-To: <57B3E8AE.4090706@gmail.com> References: <57B212EA.7080605@gmail.com> <57B3E8AE.4090706@gmail.com> From: Nick Dimiduk Date: Fri, 19 Aug 2016 08:45:48 -0700 Message-ID: Subject: Re: Source incompatibility between 1.2.[0,1] and 1.2.2 breaks Phoenix To: "dev@hbase.apache.org" Content-Type: multipart/alternative; boundary=047d7b8743f6bacb48053a6e97bb archived-at: Fri, 19 Aug 2016 15:46:03 -0000 --047d7b8743f6bacb48053a6e97bb Content-Type: text/plain; charset=UTF-8 My bandwidth for tracking this thread has been limited. Have we concluded here that HBASE-16420 is the only fix we need before the next round of RCs? On Tuesday, August 16, 2016, Josh Elser wrote: > (top-post since I can't find a better place to respond to everyone who > chimed in here) > > Huge thanks, everyone! This was absolutely the best email thread (and JIRA > issue) I could've come back to after not keeping up with email for the day. > > Stack wrote: > >> On Tue, Aug 16, 2016 at 8:20 AM, Sean Busbey wrote: >> >> On Tue, Aug 16, 2016 at 6:40 AM, Stack wrote: >>> >>> On Tue, Aug 16, 2016 at 1:07 AM, Phil Yang wrote: >>>> >>>> I notice that HBASE-15645 is made up of several commits and revert in >>>>> >>>> git, >>>> >>>>> maybe it is more convenient to apply a new patch to remove the added >>>>> methods. >>>>> >>>>> Created a new issue (HBASE-16420 >>>>> ) and waiting for >>>>> >>>> the >>> >>>> result of pre-commit build. The patch only fix the incompatibility of >>>>> >>>> 1.1 >>> >>>> and 1.2. Do we need keep the compatibility between 1.x branches? If so >>>>> >>>> we >>>> >>>>> need also remove new methods from branch-1.3 and branch-1. And seems >>>>> >>>> some >>> >>>> other issues also added new methods to non-Private interface on >>>>> branch-1/1.3... >>>>> >>>>> >>>>> Patch looks good Phil. Thanks for putting it up. >>>> >>>> On your question, adding API in a manner that breaks compile is allowed >>>> going by our updated understanding. >>>> >>>> >>>> This should be "is not allowed" right? >>> >>> >>> Thanks Sean. Yes (Doc says right thing in HBASE-16422 patch) >> >> >> >> My reading of the consensus in the thread thus far is that adding methods >>> to IA.Public interfaces won't be possible in the 1.y line of releases due >>> to breaking source compatibility, >>> >> >> >> >> HBASE-16422 makes exclusion for patch release only. It does not preclude >> our breaking on minor versions. >> >> >> >> 1) starting to have a distinction between places we expect folks to just >>> consume API vs extend it? >>> >>> I used to be in favor of this, but Andrew's concern on bikeshedding has >>> me >>> reconsidering. Simpler rules seem better both to reduce the complexity of >>> communicating downstream and what the RMs have to keep in their heads >>> when >>> evaluating changes. >>> >>> >>> This and the below would be better on another thread I'd say Sean. >> >> Lets keep this thread for handling this little compat episode. >> >> Thanks, >> St.Ack >> >> >> >> 2) dropping our use of IS.Stable, IS.Evolving, etc. >>> >>> I've never found this distinction particularly useful since we aren't >>> very >>> consistent on it. The compat guide only specifies what it means for >>> "server >>> side APIs" without really defining what that means precisely, and we use >>> it >>> in client APIs as well. I think a reasonable reading of our current guide >>> could take the IS.Evolving designation to mean that the breaking change >>> to >>> Table was okay, but reading the comments on PHOENIX-3116 that >>> interpretation would clearly be surprising to at least one set of >>> downstream folks. (Plus none of the discussions I saw around this change >>> used this rationale, so its presence or lack thereof wouldn't have >>> changed >>> the conversation.) >>> >>> >> --047d7b8743f6bacb48053a6e97bb--