Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A784417521 for ; Mon, 16 Mar 2015 00:24:45 +0000 (UTC) Received: (qmail 46598 invoked by uid 500); 16 Mar 2015 00:24:40 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 46512 invoked by uid 500); 16 Mar 2015 00:24:40 -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 46498 invoked by uid 99); 16 Mar 2015 00:24:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Mar 2015 00:24:39 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lhofhansl@yahoo.com designates 98.139.213.164 as permitted sender) Received: from [98.139.213.164] (HELO nm14-vm0.bullet.mail.bf1.yahoo.com) (98.139.213.164) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Mar 2015 00:24:33 +0000 Received: from [66.196.81.172] by nm14.bullet.mail.bf1.yahoo.com with NNFMP; 16 Mar 2015 00:21:03 -0000 Received: from [98.139.215.228] by tm18.bullet.mail.bf1.yahoo.com with NNFMP; 16 Mar 2015 00:21:03 -0000 Received: from [127.0.0.1] by omp1068.mail.bf1.yahoo.com with NNFMP; 16 Mar 2015 00:21:03 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 96168.35526.bm@omp1068.mail.bf1.yahoo.com X-YMail-OSG: Ki.yYh8VM1nimilMKfeGkLaaoUWAOTK9TrNZKEP5sl2HgYNiIsKzjrTi71df2Qg Mds_9.F5aNguO0rec1Sh09dnZvjrzmX8ERnmNxDkOJJ2Z01DgtJYJmYiKdnVrRSY_ZMfHxvWQ4Sl 1LY14DsRp_GPa9xplhEsTTaF97QDjQ3h6MzqorlGWFOMNxFoHTE9qkbE8qyGr0kRP1qvMWE5Z6Ow kRVdL2B.CqXECQuzxp_nLyUimnp3WxHGvAJ4obHCMgLPOllgtpqhSNZs9zTS61VemghGcn8g49yo UVuK9LHPDwz_DckeumYvwOJe2aRpIBP0taFbdx4z1Y2eBmAZarhloTWEntBJEw3ttHt9hgmL.bCf cCNghJgx6grtx0g8H1vn5d57gSBZ4ViWHV6Hc_Q4La0uXvUeCky4whcuaras2z7u8xbQQ7XfBTN3 Fu2NdaHvTeEe7Iga5ojwFLL339EW.tPDn1U9cWrCsX0MOB.jukPwyDAkIocUORysuwHsI5vMoKD5 oXDg- Received: by 76.13.26.143; Mon, 16 Mar 2015 00:21:02 +0000 Date: Mon, 16 Mar 2015 00:20:59 +0000 (UTC) From: lars hofhansl Reply-To: lars hofhansl To: "dev@hbase.apache.org" Message-ID: <989813503.7430822.1426465259261.JavaMail.yahoo@mail.yahoo.com> In-Reply-To: <1441138005.1974019.1426464864185.JavaMail.yahoo@mail.yahoo.com> References: <1441138005.1974019.1426464864185.JavaMail.yahoo@mail.yahoo.com> Subject: Re: [DISCUSS] Dependency compatibility MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_7430821_1719705725.1426465259251" X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_7430821_1719705725.1426465259251 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I should also state that the initial proposal did not "Dependency Compatibi= lity" in it, as it is somewhat redundant.As long as none of the other promi= ses we make are broken we should be able to pull in whatever we want in ter= ms of dependencies. -- Lars From: lars hofhansl To: "dev@hbase.apache.org" =20 Sent: Sunday, March 15, 2015 5:14 PM Subject: Re: [DISCUSS] Dependency compatibility =20 Sorry for chiming in a bit late.When I wrote up the proposal for our depend= ency story I spent a lot of time thinking about this, we also discussed thi= s at length at a PMC meeting. Let's not break our own promise in the first = ever minor version we release. Instead of removing that part we can clarify it. What we meant to say in that section is that it is pointless to make HBase = compatibility guarantees if we allow HBase changes that force bringing in a= dependency that breaks exactly those guarantees.That was mostly around not= forcing Hadoop to a new *major* version as a dependency for a HBase *minor= * upgrade. So what that means is that we cannot pull in a new dependency th= at breaks something that we said we would not break. If we only break "Client Binary Compatibility", which we allow to break in = a minor upgrade, we'd be OK. I got lost in the weeds of the various threads here. What will actually bre= ak when we just upgrade Jackson to 1.9? Old clients running against the old HBase jars will continue to work, right= ? Or will MR/Yarn based clients flat due to the different Jackson versions = between client and server?If old clients work unchanged, we can make the ch= ange. If not, we can debate whether we have another option, or whether MR/Y= arn is a different story. -- Lars =20 From: Enis S=C3=B6ztutar To: "dev@hbase.apache.org" =20 Sent: Friday, March 13, 2015 11:56 AM Subject: Re: [DISCUSS] Dependency compatibility =20 > > > I think we can solve this generally for Hadoop 2.6.0+. There's no reason > our HDFS usage should be exposed in the HBase client code, and I think th= e > application classpath feature for YARN in that version can isolate us on > the MR side. I am willing to do this work in time for 1.1. Realistically = I > don't know the timeline for that version yet. If it turns out the work is > more involved or my time is more constrained then I think, I'm willing to > accept promise weakening as a practical matter. > HBase-1.x series SHOULD work with Hadoop versions as old as 2.2. That is what we promise for 1.x series. So solving the problem in Hadoop-2.6+ will not solve it for 1.1. It is great if we can help Hadoop with classloading issues, do shading there, and do shading in HBase and reduce the dependencies etc. However, since we cannot do these in HBase-1.x series (we cannot shade deps in the same manner), I do not see a way how to get around this by doing anything other than what I propose. We have discussed many of the compat dimensions before we adopted them in PMC. For some of those (like binary compat), we decided that we cannot support them between minor versions in 1.x , so we decided 'false" on that dimension. For these we explicitly decided that when we can realistically have more guarantees, we can start supporting this dimension (client binary compat in minor versions) and have 2.x or later support those. I see the dependency compat dimension in the same vein. It is clear (at least to me) that we cannot support pragmatically any dep compat in 1.x series. If you/we can make all the necessary changes in Hadoop and HBase, we can reintroduce this back. Until then though, I would rather not block any progress and drop the support. As you said the timeline is not clear, so why are we cornering ourselves (especially for 1.x series) for this? > > I'd be much more comfortable weakening our dependency promises for > coprocessor than doing it in general. Folks running coprocessors should > already be more risk tolerant and familiar with our internals. > > For upstreams that don't have the leverage on us of Hadoop, we solve this > problem simply by not updating dependencies that we can't trust to not > break our downstreams. > > > > > I would be disappointed to see a VOTE thread. That means we failed to > reach > > consensus and needed to fall back to process to resolve differences. > > > > > > That's fair. What about the wider audience issue on user@? There's no > reason our DISCUSS threads couldn't go there as well. > > > > > Why don't we do the doc update and call it a day? > > > > I've been burned by dependency changes in projects I rely on many times i= n > the past, usually over changes in code sections that folks didn't think > were likely to be used. So I'm very willing to do work now to save > downstream users of HBase that same headache. > > -- > Sean > =20 ------=_Part_7430821_1719705725.1426465259251--