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 C497C200D2B for ; Thu, 2 Nov 2017 21:54:40 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id C301D160BE5; Thu, 2 Nov 2017 20:54:40 +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 139051609EB for ; Thu, 2 Nov 2017 21:54:39 +0100 (CET) Received: (qmail 77917 invoked by uid 500); 2 Nov 2017 20:54:39 -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 77906 invoked by uid 99); 2 Nov 2017 20:54:38 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Nov 2017 20:54:38 +0000 Received: from mail-qk0-f171.google.com (mail-qk0-f171.google.com [209.85.220.171]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id CA6321A0236 for ; Thu, 2 Nov 2017 20:54:37 +0000 (UTC) Received: by mail-qk0-f171.google.com with SMTP id r64so986176qkc.1 for ; Thu, 02 Nov 2017 13:54:36 -0700 (PDT) X-Gm-Message-State: AMCzsaWU1ZaMeP+6nfGDoPOwNfK8oT5vDdkn6Pn3IER8eo7HJzf5rrsl 90ZUozSL8fK3kQWA3HgE2qn3Zp+AFpvKr919ZmI= X-Google-Smtp-Source: ABhQp+Qhte9psgAtru8DP8HwSqGv8dkSkYDoliMT6r9yaOw8hEUD9QzshX/DGWG4CllaNC5pcI3lf+4m9d8otd4YUpo= X-Received: by 10.233.244.11 with SMTP id y11mr6482239qkl.164.1509656075531; Thu, 02 Nov 2017 13:54:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.153.61 with HTTP; Thu, 2 Nov 2017 13:54:15 -0700 (PDT) In-Reply-To: References: From: Sean Busbey Date: Thu, 2 Nov 2017 15:54:15 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Problem with double shading in hbase-thirdparty and hbase-shaded-client? To: dev Content-Type: text/plain; charset="UTF-8" archived-at: Thu, 02 Nov 2017 20:54:41 -0000 I think something like o.a.h.hbase.thirdparty might be better. then we can differentiate between "shaded" for downstream of us vs "thirdparty" for our internal use. On Thu, Nov 2, 2017 at 3:52 PM, Stack wrote: > Good one Jerry He. > > I can try changing the offset in hbase-thirdparty in a new release > (o.a.hbase.shaded?). There used to be a reason why it had to be > o.a.h.hbase.shaded but IIRC it went away after all shaded dependencies made > it out to hbase-thirdparty (including the pb3 that we used to have checked > into core). > > S > > On Thu, Nov 2, 2017 at 11:45 AM, Jerry He wrote: > >> Mike from another thread asked about shading jackson into >> hbase-thirdparty. That reminded me of a question I was thinking >> recently, >> in conjunction with HBASE-18800 "[Propaganda] Push shaded hbase-client >> as gateway to an hbase cluster going forward". >> >> We have shaded artifacts in hbase-thirdparty >> (hbase-shaded-miscellaneous, hbase-shaded-protobuf and >> hbase-shaded-netty). The purpose is to shade and bundle the jars with >> versions hbase uses internally. >> >> Then in hbase-shaded-client we do shading again for some of the same >> jars, but they are more non-hbase, transitive dependencies. >> For example, in hbase-shaded-miscellaneous, we shade guava 22. But >> hbase-client will bring in guava 11 from hadoop-common. In >> hbase-shaded-protobuf, we shade protobuf 3. But hadoop brings in >> protobuf 2.5. >> We will be doing shading of all these in hbase-shaded-client (and the >> hbase-shaded-mapreduce), with the same relocation >> (org.apache.hadoop.hbase.shaded). >> >> The end result is shaded guava 22 or guava 11? Protobuf 3 or protobuf 2.5? >> I checked hbase-shaded-client and found it had the shaded guava 22 classes. >> Looks like the shading process will only add one version of the >> classes with the same name. >> >> This will potentially have problem, and potentially make it unusable >> in unlucky situations. >> >> I bring it up here for awareness and discussion. First, is this really >> a problem? >> Second, how to fix it? Maybe a different relocation offset in >> hbase-thirdparty? >> >> Thanks, >> >> Jerry >>