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 0C040200BA6 for ; Tue, 4 Oct 2016 05:22:02 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 08BD7160AE5; Tue, 4 Oct 2016 03:22: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 A313E160ADC for ; Tue, 4 Oct 2016 05:22:00 +0200 (CEST) Received: (qmail 99311 invoked by uid 500); 4 Oct 2016 03:21: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 99295 invoked by uid 99); 4 Oct 2016 03:21:59 -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; Tue, 04 Oct 2016 03:21:59 +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 AC19F180290 for ; Tue, 4 Oct 2016 03:21:58 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.999 X-Spam-Level: * X-Spam-Status: No, score=1.999 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id w7amymPopnyF for ; Tue, 4 Oct 2016 03:21:50 +0000 (UTC) Received: from mail-io0-f177.google.com (mail-io0-f177.google.com [209.85.223.177]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 5295A5F4EC for ; Tue, 4 Oct 2016 03:21:50 +0000 (UTC) Received: by mail-io0-f177.google.com with SMTP id r30so15858215ioi.1 for ; Mon, 03 Oct 2016 20:21:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=FAeSgdf6xDtiZxZJy8IkrBzGeJvANEIdSg/Ctw8lq2w=; b=ArcDQrtEyaatWCh8xf0REXfM2QBpNamY4Ylj7pS9CqCePX5bJpzdIrlXxTujPn9hYw l4m/kxdT0u6btqxNZ8OKrJzHWzmkqOumwwboGA4wazHf/M+ZnpcJ9B8x/i5aqJlTWMCu DowpOSP8kfDHapHmV2rnYxHOyFW9GWVLLw3GjVLPeHj+2C2AWAJjQPyOYCgnmT21cn/3 iCxBTWxwKnwPG0bEZlmlABk84pNTLncC80wkQDlWPwnUIRzNLNjyXlONpPeqP4tjEk85 ecievx3JkNLn4m+OGLiJubpHrPyALP64GC91nb3Lua4kEEYpEWEFzOs2Ml8DgjExM19J vClA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=FAeSgdf6xDtiZxZJy8IkrBzGeJvANEIdSg/Ctw8lq2w=; b=kNRvpF77oU2VPQsD9WppRK8TY9T3EtrLOtFQ/iOQhWxLnCxGqE5l8M5JKuiWE2vfZB 8sYJ8kETrow6b4PkQ1AIcBrASIorKY6FgAboqVGc7evc8AS/Zmbt3gg0BYJIw0NWj1jr +vaO1jQAfvzFwot99HtWkC2V1rZU5V1veLLUaUkmSgTQmtO2dFwcIVOFcng3DIahPVgA wGWnBislK9uxo/7FhBSnnItUMZdrWAoMwvLjPU8Rp8GzZ5+UP7V4gYugvcHAuGaljj3b cF3cAg9oCoI9Lolg3vGweukVwGn0C7/IW30lOSEVD9tUHatrzQEA/NlUz7lQRYKqzcMT iOZA== X-Gm-Message-State: AA6/9RmI2inWjmXCjD8GsUFlX3apsQOBvYvM8sEefuMFe1xd2hOFJ1SR8QHCUL93qH9VpqukuOcMPgw23ftwQg== X-Received: by 10.107.27.77 with SMTP id b74mr1939325iob.231.1475551309326; Mon, 03 Oct 2016 20:21:49 -0700 (PDT) MIME-Version: 1.0 Sender: saint.ack@gmail.com Received: by 10.36.213.66 with HTTP; Mon, 3 Oct 2016 20:21:48 -0700 (PDT) In-Reply-To: References: <936A25D2-13BB-470F-85D7-97591EF88252@gmail.com> From: Stack Date: Mon, 3 Oct 2016 20:21:48 -0700 X-Google-Sender-Auth: A8rjssrTCLiXWezZu-JK310-0vM Message-ID: Subject: Re: [NOTICE] Merge of shaded protobuf 3.1.0 (WAS => [DISCUSS] Shade protobuf so we can move to a newer version) To: HBase Dev List Content-Type: multipart/alternative; boundary=001a1140355aa3f43e053e018fe1 archived-at: Tue, 04 Oct 2016 03:22:02 -0000 --001a1140355aa3f43e053e018fe1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Oct 3, 2016 at 7:01 PM, Enis S=C3=B6ztutar wro= te: > > > > > > If hadoop shaded its artifacts so no leakage whether an HDFS or YARN > > context (or Spark -- Spark2 is pb2.5.0) and downstreamers made use of o= ur > > shaded artifacts everywhere then we could avoid this effort. > > > > Some form of isolation should show up in hadoop3 before it ships. My > guess > > is that it unlikely we'd get the backport in an hadoop2 even though > hadoop > > has tradtionally been 'relaxed' when it comes to compat across versions= . > An > > hbase2 that required hadoop3 or even a 2.9 or 2.10 would be constrainin= g. > > > > > FWIW, we can still declare that only supported HBase client is the shaded > client, and the non-shaded server / client will not work after 2.0. It > should still allow MR jobs to work even without Hadoop's shading. > > > This would be good practice however it all works out. (Chatting w/ Sean, it sounds like the isolation in hadoop3 will be less than comprehensive -- client-side/driver-side only; he might show up here w/ more info later). > > > The above is a big if and a dependency on another project's delivery. > > > > Agreed. > > > > > > Meanwhile the offheap project need a more modern protobuf yesterday so > they > > can make progress. > > > > I suggest we commit this patch that lets us own when and on what we can > > release. If the lay of the land changes substantially before we ship > > hbase2, I promise to undo this patch. > > > > Ok, let's not block the offheap effort and see whether the dev pain is > worth it. > > Thanks Enis. I learned alot doing up this patch but do not like it. If an alternative presents itself, I'll be first in line to go there. I got a clean build finally out of builds.apache.org (which has been acting up all w/e) on my HBASE-16264 jenkins job. Let me finish up this protobuf chapter and then push this evening. There'll be teething issues I'm sure. St.Ack > > > > > What do you think Enis, > > St.Ack > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Even if we could and they deliver, what about all of the already > > deployed > > > > 2.x? Or 3.x? Would a change like this get into 3? Or would it be > pushed > > > to > > > > 4? So we wait until Hadoop 3 or maybe 4 is released *and* GA *and* > out > > > > there so long that telling people to get off 2 is is finally ok > before > > > > moving up to PB3 or getting the off heaping goodness? No, let's get > > this > > > > work in. > > > > > > > > > > > > > > > > > > > > On Mon, Oct 3, 2016 at 2:46 PM, Enis S=C3=B6ztutar > wrote: > > > > > > > > > Is PB only coming via HDFS client or there are other usages that > > > pollute > > > > > our classpath? We are doing all this gymnastics just because > upstream > > > > does > > > > > not do shading is frustrating. Any idea for how likely we can pus= h > > > shaded > > > > > hdfs to Hadoop? Should we focus on that instead rather than worki= ng > > > > around > > > > > the problem? > > > > > > > > > > Enis > > > > > > > > > > On Mon, Oct 3, 2016 at 11:09 AM, Stack wrote: > > > > > > > > > > > On Mon, Oct 3, 2016 at 9:41 AM, Ted Yu > > wrote: > > > > > > > > > > > > > The precommit job uses compile-protobuf profile for > verification. > > > The > > > > > > > absence of compile-protobuf profile in hbase-protocol-shaded > > module > > > > > means > > > > > > > precommit job would only invoke the existing compile-protobuf > > > profile > > > > > > > in hbase-protocol > > > > > > > module. > > > > > > > > > > > > > w.r.t. path, when two protoc executables (corresponding to 2.5 > and > > > 3.x, > > > > > > > respectively) are available, would maven know which one to pi= ck > > for > > > > > > > the hbase-protocol and hbase-protocol-shaded modules ? > > > > > > > > > > > > > > > > > > > > > > > > > > For the former, right, nothing changed. > > > > > > > > > > > > On the latter, it is a contrivance, a problem we do not have. T= he > > > build > > > > > > doesn't have to pick between pb 2.5 vs pb 3.1. We don't run > protoc > > as > > > > > part > > > > > > of our build. It is done apart from the build by the developer > and > > > > their > > > > > > results are then checked-in. That continues as it was post-patc= h. > > We > > > > just > > > > > > do 3.1 now instead of 2.5. > > > > > > > > > > > > I'll check in a bit of doc as part of this commit that hopefull= y > > will > > > > > help > > > > > > make this all clearer. > > > > > > > > > > > > St.Ack > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > On Mon, Oct 3, 2016 at 9:32 AM, Stack > wrote: > > > > > > > > > > > > > > > On Mon, Oct 3, 2016 at 7:16 AM, Ted Yu > > > > wrote: > > > > > > > > > > > > > > > > > Looks like compile-protobuf profile is not in > > > > > > > > hbase-protocol-shaded/pom.xml > > > > > > > > > (in HBASE-16264 branch) > > > > > > > > > > > > > > > > > > > > > > > > > > Sorry. I don't get what you are saying here > > > > > > > > > > > > > > > > (The target in the new module is generate-sources. See the > > > included > > > > > > > README. > > > > > > > > This step does more work now more than just generating > protocs, > > > > hence > > > > > > new > > > > > > > > profile name.) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Seems precommit jobs should pass with the current > formation. > > > > > > > > > > > > > > > > > > > > > > > > > > Are you stating that this patch is likely to build? (Yes, t= he > > > > patch I > > > > > > > > submitted builds). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > In the future, if we add another profile for compiling > proto3 > > > > > files, > > > > > > we > > > > > > > > > need to specify the path to proto3 compiler. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Please correct me if I am wrong. > > > > > > > > > > > > > > > > > > > > > > > > > > I don't know what you are asking. Why do we have to specify > > > > 'paths'? > > > > > We > > > > > > > > don't have to currently (See the plugin we use generating > > protos > > > > now > > > > > > from > > > > > > > > hadoop). Maybe you are trying to distinguish the production > of > > > > > > > protobuf2.5 > > > > > > > > vs 3.1 protos but these are isolated by module.... > > > > > > > > > > > > > > > > > > > > > > > > I said I'd commit this morning but let me wait a while. The= re > > may > > > > be > > > > > > some > > > > > > > > more questions/objections and I'd like to have a clean buil= d > up > > > on > > > > > > > jenkins > > > > > > > > here [1] before I commit (jenkins is being ornery). > > > > > > > > > > > > > > > > St.Ack > > > > > > > > 1. > > > > > > > > https://builds.apache.org/job/HBASE-16264/jdk=3DJDK%201.8%2= 0( > > > > > > > > latest),label=3Dyahoo-not-h2/28/console > > > > > > > > > > > > > > > > Service Unavailable > > > > > > > > > > > > > > > > The server is temporarily unable to service your > > > > > > > > request due to maintenance downtime or capacity > > > > > > > > problems. Please try again later. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Mon, Oct 3, 2016 at 6:58 AM, Ted Yu < > yuzhihong@gmail.com> > > > > > wrote: > > > > > > > > > > > > > > > > > > > The protoc generated files (such as MasterProtos) are > > checked > > > > > into > > > > > > > > source > > > > > > > > > > repo, right ? > > > > > > > > > > > > > > > > > > > > Do we need proto3 on the precommit image(s) ? > > > > > > > > > > > > > > > > > > > > On Mon, Oct 3, 2016 at 5:18 AM, =E5=BC=A0=E9=93=8E < > palomino219@gmail.com> > > > > > wrote: > > > > > > > > > > > > > > > > > > > >> Then I think we need to file an issue to change the > protoc > > > > > version > > > > > > > > > >> installed in the precommit docker file to 3.x before t= he > > > > merge. > > > > > > > > > Otherwise > > > > > > > > > >> the precommit build for protoc check maybe broken afte= r > > the > > > > > > merge... > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > >> 2016-10-03 1:18 GMT+08:00 Andrew Purtell < > > > > > > andrew.purtell@gmail.com > > > > > > > >: > > > > > > > > > >> > > > > > > > > > >> > I have 2.5 and 3.0 installed as > /opt/protobuf-, > > > and > > > > > > have > > > > > > > > bash > > > > > > > > > >> > scripts that add the appropriate version's bin > directory > > > to > > > > > the > > > > > > > > path. > > > > > > > > > >> Not > > > > > > > > > >> > particularly onerous as I also have to switch betwee= n > > > > required > > > > > > JDK > > > > > > > > > >> > versions, so the scripts also set JAVA_HOME at and a= dd > > JDK > > > > bin > > > > > > to > > > > > > > > the > > > > > > > > > >> path > > > > > > > > > >> > for the required JDK for the build. > > > > > > > > > >> > > > > > > > > > > >> > Unlike with the scala compiler, which is after all J= VM > > > > > bytecode > > > > > > > at a > > > > > > > > > >> > fundamental level, I don't think maven automation fo= r > > > > > automatic > > > > > > > > > download > > > > > > > > > >> > and execution is possible. protoc is a native binary= . > > > > > > > > > >> > > > > > > > > > > >> > > On Oct 1, 2016, at 11:30 PM, =E5=BC=A0=E9=93=8E < > > palomino219@gmail.com> > > > > > > wrote: > > > > > > > > > >> > > > > > > > > > > > >> > > Do we need to install protoc 3.0 manully before > > building > > > > > HBase > > > > > > > or > > > > > > > > > the > > > > > > > > > >> > maven > > > > > > > > > >> > > protobuf plugin will automatically download the > protoc > > > > > > compiler? > > > > > > > > > >> Maybe we > > > > > > > > > >> > > need to install protoc 3.0 in the precommit docker > > file. > > > > > > > > > >> > > > > > > > > > > > >> > > 2016-10-02 14:20 GMT+08:00 =E5=BC=A0=E9=93=8E < > palomino219@gmail.com > > >: > > > > > > > > > >> > > > > > > > > > > > >> > >> > > > > > > > > > >> > >> 2016-10-02 0:50 GMT+08:00 Stack >: > > > > > > > > > >> > >> > > > > > > > > > >> > >>>> On Sat, Oct 1, 2016 at 7:20 AM, =E5=BC=A0=E9=93= =8E < > > > > > palomino219@gmail.com> > > > > > > > > > wrote: > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>>> Can we setup a compatibility checker job in > > jenkins? > > > > > Start > > > > > > a > > > > > > > > > >> > >>> minicluster in > > > > > > > > > >> > >>>> one process, and use a client in another proces= s > to > > > > > > > communicate > > > > > > > > > >> with > > > > > > > > > >> > it. > > > > > > > > > >> > >>>> The version of the client should be >=3D 0.98 a= nd > <=3D > > > the > > > > > > > version > > > > > > > > of > > > > > > > > > >> the > > > > > > > > > >> > >>>> minicluster. Of course we need to design the > > testing > > > > code > > > > > > > > > >> carefully to > > > > > > > > > >> > >>> make > > > > > > > > > >> > >>>> sure that we have tested all the cases. > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>> +1. We need this up and running before we put ou= t > an > > > > > > > > hbase-2.0.0. > > > > > > > > > I > > > > > > > > > >> > know > > > > > > > > > >> > >>> Matteo does this test manually on a regular basi= s > > but > > > a > > > > > > > > > >> formalization > > > > > > > > > >> > >>> would > > > > > > > > > >> > >>> help. I can add an exercise of Coprocessor > > Endpoints. > > > I > > > > > > > believe > > > > > > > > > this > > > > > > > > > >> > is on > > > > > > > > > >> > >>> Dima's list of TODOs but will let him speak for > > > himself. > > > > > > > > > >> > >>> > > > > > > > > > >> > >>> > > > > > > > > > >> > >>>> And also I think we should make sure that no > proto3 > > > > only > > > > > > > > feature > > > > > > > > > is > > > > > > > > > >> > >>>> introduced in our proto files until branch-1 is > > dead. > > > > > > Maybe a > > > > > > > > > >> > precommit > > > > > > > > > >> > >>>> check? > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>> I think you mean wire-format breaking changes? > > Agree. > > > > We > > > > > > have > > > > > > > > our > > > > > > > > > >> PB3 > > > > > > > > > >> > set > > > > > > > > > >> > >>> to 2.5 compat mode and yes, we can't move on fro= m > > this > > > > > until > > > > > > > we > > > > > > > > > are > > > > > > > > > >> in > > > > > > > > > >> > a > > > > > > > > > >> > >>> place where we can say no to 2.5 clients. > > > > > > > > > >> > >>> > > > > > > > > > >> > >> Yes, for example, pb2.5 does not support map so w= e > > > should > > > > > not > > > > > > > use > > > > > > > > > >> map in > > > > > > > > > >> > >> our proto files. > > > > > > > > > >> > >> > > > > > > > > > >> > >>> > > > > > > > > > >> > >>> Making use of PB3isms cannot be avoided. PB3.1 > adds > > a > > > > > native > > > > > > > > > >> > replacement > > > > > > > > > >> > >>> for our HBaseZeroCopyByteString/ByteStringer > hack. > > It > > > > > also > > > > > > > adds > > > > > > > > > >> > 'unsafe' > > > > > > > > > >> > >>> methods that we need to exploit if we are to kee= p > > our > > > > > > > read/write > > > > > > > > > >> paths > > > > > > > > > >> > >>> offheap. > > > > > > > > > >> > >>> > > > > > > > > > >> > >>> St.Ack > > > > > > > > > >> > >>> > > > > > > > > > >> > >>> > > > > > > > > > >> > >>> > > > > > > > > > >> > >>> > > > > > > > > > >> > >>> > > > > > > > > > >> > >>>> Thanks. > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>>> 2016-10-01 11:55 GMT+08:00 Sean Busbey < > > > > > > busbey@cloudera.com > > > > > > > >: > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>>>> have we experimentally confirmed that wire > > > > compatibility > > > > > > is > > > > > > > > > >> > >>>>> maintained? I saw one mention of expecting wir= e > > > > > > > compatibility > > > > > > > > to > > > > > > > > > >> be > > > > > > > > > >> > >>>>> fine, but nothing with someone using e.g. the > > > > > clusterdock > > > > > > > work > > > > > > > > > or > > > > > > > > > >> > >>>>> something to mix servers / clients or do > > > replication. > > > > > > > > > >> > >>>>> > > > > > > > > > >> > >>>>>> On Fri, Sep 30, 2016 at 6:30 PM, Stack < > > > > > stack@duboce.net > > > > > > > > > > > > > > > > wrote: > > > > > > > > > >> > >>>>>> I intend to do a mass commit late this weeken= d > > that > > > > > moves > > > > > > > us > > > > > > > > on > > > > > > > > > >> to a > > > > > > > > > >> > >>>>> shaded > > > > > > > > > >> > >>>>>> protobuf-3.1.0, either Sunday night or Monday > > > > morning. > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> If objection, please speak up or if need more > > time > > > > for > > > > > > > > > >> > >>>>>> consideration/review, just shout. > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> I want to merge the branch HBASE-16264 into > > master > > > > (it > > > > > is > > > > > > > > > running > > > > > > > > > >> > >>> here > > > > > > > > > >> > >>>> up > > > > > > > > > >> > >>>>>> on jenkins https://builds.apache.org/view > > > > > > > > > >> /H-L/view/HBase/job/HBASE- > > > > > > > > > >> > >>>>> 16264/). > > > > > > > > > >> > >>>>>> The branch at HBASE-16264 has three significa= nt > > > > > > > > bodies-of-work > > > > > > > > > >> that > > > > > > > > > >> > >>>>>> unfortunately are tangled and can only go in > of a > > > > > piece. > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> * HBASE-16264 > > > > > > > > jira/browse/HBASE-16264 > > > > > > > > > >> > > > > > > > > > > >> > >>> The > > > > > > > > > >> > >>>>>> shading of our protobuf usage so we can upgra= de > > > > and/or > > > > > > run > > > > > > > > > with a > > > > > > > > > >> > >>>> patched > > > > > > > > > >> > >>>>>> protobuf WITHOUT breaking REST, Spark, and in > > > > > particular, > > > > > > > > > >> > >>> Coprocessor > > > > > > > > > >> > >>>>>> Endpoints. > > > > > > > > > >> > >>>>>> * HBASE-16567 > > > > > > > > jira/browse/HBASE-16567 > > > > > > > > > >> > > > > > > > > > > >> > >>> A > > > > > > > > > >> > >>>>> move > > > > > > > > > >> > >>>>>> up on to (shaded) protobuf-3.1.0 > > > > > > > > > >> > >>>>>> * HBASE-16741 > > > > > > > > jira/browse/HBASE-16741 > > > > > > > > > >> > > > > > > > > > > >> > >>> An > > > > > > > > > >> > >>>>>> amendment of our generate protobufs step to > > include > > > > > > shading > > > > > > > > > and a > > > > > > > > > >> > >>>>> bundling > > > > > > > > > >> > >>>>>> of protobuf src (with a means of calling a > patch > > > srcs > > > > > > hook) > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> Together we're talking about 40MB of change > > mostly > > > > made > > > > > > of > > > > > > > > the > > > > > > > > > >> > >>> movement > > > > > > > > > >> > >>>>> of > > > > > > > > > >> > >>>>>> generated files or the application of a patte= rn > > > that > > > > > > alters > > > > > > > > > >> where we > > > > > > > > > >> > >>>> get > > > > > > > > > >> > >>>>>> imports from. When done, you should notice no > > > > > difference > > > > > > > and > > > > > > > > > >> should > > > > > > > > > >> > >>> be > > > > > > > > > >> > >>>>> able > > > > > > > > > >> > >>>>>> to go about your business as per usual. Upsid= e > is > > > > that > > > > > we > > > > > > > > will > > > > > > > > > be > > > > > > > > > >> > >>> able > > > > > > > > > >> > >>>> to > > > > > > > > > >> > >>>>>> avoid coming onheap doing protobuf > > > > > > > marshalling/unmarshalling > > > > > > > > as > > > > > > > > > >> > >>>> protobuf > > > > > > > > > >> > >>>>>> 2.5.0 requires. Downside is that we repeat a > good > > > > > portion > > > > > > > of > > > > > > > > > our > > > > > > > > > >> > >>>> internal > > > > > > > > > >> > >>>>>> protos, once non-shaded so Coprocessor > Endpoints > > > can > > > > > keep > > > > > > > > > working > > > > > > > > > >> > >>> and > > > > > > > > > >> > >>>>> then > > > > > > > > > >> > >>>>>> again as shaded for internal use. > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> I provide some more overview below on the > > changes. > > > > See > > > > > > the > > > > > > > > > >> shading > > > > > > > > > >> > >>> doc > > > > > > > > > >> > >>>>>> here: > > > > > > > > > >> > >>>>>> https://docs.google.com/document/d/ > > > > > > > 1H4NgLXQ9Y9KejwobddCqaVME > > > > > > > > > >> DCGby > > > > > > > > > >> > >>>>> DcXtdF5iAfDIEk/edit# > > > > > > > > > >> > >>>>>> for more detail (Patches are up on review boa= rd > > -- > > > > > except > > > > > > > the > > > > > > > > > >> latest > > > > > > > > > >> > >>>>>> HBASE-16264 which is too big for JIRA and RB)= . > I > > am > > > > > > > currently > > > > > > > > > >> > >>> working > > > > > > > > > >> > >>>> on > > > > > > > > > >> > >>>>> a > > > > > > > > > >> > >>>>>> devs chapter for the book on protobuf going > > forward > > > > > that > > > > > > > will > > > > > > > > > go > > > > > > > > > >> in > > > > > > > > > >> > >>> as > > > > > > > > > >> > >>>>> part > > > > > > > > > >> > >>>>>> of this patch. > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> Thanks, > > > > > > > > > >> > >>>>>> St.Ack > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> Items of note: > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> * Two new modules; one named > > hbase-protocol-shaded > > > > that > > > > > > is > > > > > > > > used > > > > > > > > > >> by > > > > > > > > > >> > >>>> hbase > > > > > > > > > >> > >>>>>> core. It has in it a shaded (and later patche= d) > > > > > protobuf. > > > > > > > The > > > > > > > > > >> other > > > > > > > > > >> > >>> new > > > > > > > > > >> > >>>>>> module is hbase-endpoint which goes after > > > > hbase-server > > > > > > and > > > > > > > > has > > > > > > > > > >> those > > > > > > > > > >> > >>>>>> bundled endpoints that I was able to break ou= t > of > > > > core > > > > > > > (there > > > > > > > > > >> are a > > > > > > > > > >> > >>> few > > > > > > > > > >> > >>>>>> that are hopelessly entangled that need to be > > > undone > > > > as > > > > > > > CPEPs > > > > > > > > > but > > > > > > > > > >> > >>>>>> fortunately belong in core: Auth, Access, > > > MultiRow). > > > > > > > > > >> > >>>>>> * I've tested running a branch-1 CPEP against= a > > > > master > > > > > > with > > > > > > > > > these > > > > > > > > > >> > >>>>> patches > > > > > > > > > >> > >>>>>> in place and stuff like ACL (A CPEP) run from > the > > > > > > branch-1 > > > > > > > > > shell > > > > > > > > > >> > >>> work > > > > > > > > > >> > >>>>>> against the branch-2 server. > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>> > > > > > > > > > >> > >>>>>>> On Mon, Aug 22, 2016 at 5:20 PM, Stack < > > > > > > stack@duboce.net> > > > > > > > > > >> wrote: > > > > > > > > > >> > >>>>>>> > > > > > > > > > >> > >>>>>>> This project goes on. I updated HBASE-1563 > > "Shade > > > > > > > protobuf" > > > > > > > > > with > > > > > > > > > >> > >>> some > > > > > > > > > >> > >>>>> doc > > > > > > > > > >> > >>>>>>> on a final approach. We need to be able to > refer > > > to > > > > > both > > > > > > > > > shaded > > > > > > > > > >> and > > > > > > > > > >> > >>>>>>> non-shaded protobuf so we can support sendin= g > > HDFS > > > > > > > > old-school > > > > > > > > > pb > > > > > > > > > >> > >>>>> Messages > > > > > > > > > >> > >>>>>>> but also so Coprocessor Endpoints keep worki= ng > > > > though > > > > > > > > > internally > > > > > > > > > >> > >>>>> protobufs > > > > > > > > > >> > >>>>>>> have been relocated. Funny you should ask, b= ut > > > yes, > > > > > > there > > > > > > > > are > > > > > > > > > >> some > > > > > > > > > >> > >>>>>>> downsides (as predicted by contributors on t= he > > > > JIRA). > > > > > > I'd > > > > > > > be > > > > > > > > > >> > >>>> interested > > > > > > > > > >> > >>>>> to > > > > > > > > > >> > >>>>>>> hear if they are too burdensome. In > particular, > > > your > > > > > IDE > > > > > > > > > >> experience > > > > > > > > > >> > >>>>> gets a > > > > > > > > > >> > >>>>>>> little convoluted as you will need to add to > > your > > > > > build > > > > > > > > path, > > > > > > > > > a > > > > > > > > > >> jar > > > > > > > > > >> > >>>> with > > > > > > > > > >> > >>>>>>> the relocated pbs. A pain. > > > > > > > > > >> > >>>>>>> > > > > > > > > > >> > >>>>>>> Thanks, > > > > > > > > > >> > >>>>>>> St.Ack > > > > > > > > > >> > >>>>>>> > > > > > > > > > >> > >>>>>>> > > > > > > > > > >> > >>>>>>>> On Wed, Apr 13, 2016 at 6:09 AM, Stack < > > > > > > stack@duboce.net > > > > > > > > > > > > > > > > > >> wrote: > > > > > > > > > >> > >>>>>>>> > > > > > > > > > >> > >>>>>>>> On Tue, Apr 12, 2016 at 9:26 PM, Sean Busbe= y > < > > > > > > > > > >> busbey@apache.org> > > > > > > > > > >> > >>>>> wrote: > > > > > > > > > >> > >>>>>>>> > > > > > > > > > >> > >>>>>>>>>> On Tue, Apr 12, 2016 at 6:17 PM, Stack < > > > > > > > stack@duboce.net > > > > > > > > > > > > > > > > > > >> > wrote: > > > > > > > > > >> > >>>>>>>>>> > > > > > > > > > >> > >>>>>>>>>> > > > > > > > > > >> > >>>>>>>>>> On an initial pass, the only difficult pa= rt > > > seems > > > > > to > > > > > > be > > > > > > > > > >> > >>>> interaction > > > > > > > > > >> > >>>>>>>>> with > > > > > > > > > >> > >>>>>>>>>> HDFS in asyncwal (might just pull in the > HDFS > > > > > > > messages). > > > > > > > > > >> > >>>>>>>>>> > > > > > > > > > >> > >>>>>>>>>> > > > > > > > > > >> > >>>>>>>>> > > > > > > > > > >> > >>>>>>>>> I have some idea how we can make this work > > > either > > > > by > > > > > > > > pushing > > > > > > > > > >> > >>>> asyncwal > > > > > > > > > >> > >>>>>>>>> upstream to HDFS or through some maven > tricks, > > > > > > depending > > > > > > > > on > > > > > > > > > >> how > > > > > > > > > >> > >>> much > > > > > > > > > >> > >>>>>>>>> time we have. > > > > > > > > > >> > >>>>>>>>> > > > > > > > > > >> > >>>>>>>> > > > > > > > > > >> > >>>>>>>> Maven tricks? Tell us more. Here or drop a > note > > > up > > > > in > > > > > > the > > > > > > > > > >> issue. > > > > > > > > > >> > >>>>>>>> Thanks Sean, > > > > > > > > > >> > >>>>>>>> St.Ack > > > > > > > > > >> > >>>>>>>> > > > > > > > > > >> > >>>>>>> > > > > > > > > > >> > >>>>>>> > > > > > > > > > >> > >>>>> > > > > > > > > > >> > >>>>> > > > > > > > > > >> > >>>>> > > > > > > > > > >> > >>>>> -- > > > > > > > > > >> > >>>>> busbey > > > > > > > > > >> > >>>>> > > > > > > > > > >> > >>>> > > > > > > > > > >> > >>> > > > > > > > > > >> > >> > > > > > > > > > >> > >> > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Best regards, > > > > > > > > - Andy > > > > > > > > Problems worthy of attack prove their worth by hitting back. - Piet > > Hein > > > > (via Tom White) > > > > > > > > > > --001a1140355aa3f43e053e018fe1--