Return-Path: X-Original-To: apmail-hadoop-hdfs-dev-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7278B10E63 for ; Wed, 2 Apr 2014 22:04:01 +0000 (UTC) Received: (qmail 4938 invoked by uid 500); 2 Apr 2014 22:03:29 -0000 Delivered-To: apmail-hadoop-hdfs-dev-archive@hadoop.apache.org Received: (qmail 4671 invoked by uid 500); 2 Apr 2014 22:03:22 -0000 Mailing-List: contact hdfs-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-dev@hadoop.apache.org Delivered-To: mailing list hdfs-dev@hadoop.apache.org Received: (qmail 4514 invoked by uid 99); 2 Apr 2014 22:03:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Apr 2014 22:03:19 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of hmai@hortonworks.com designates 209.85.160.173 as permitted sender) Received: from [209.85.160.173] (HELO mail-yk0-f173.google.com) (209.85.160.173) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Apr 2014 22:03:14 +0000 Received: by mail-yk0-f173.google.com with SMTP id 10so791347ykt.4 for ; Wed, 02 Apr 2014 15:02:53 -0700 (PDT) 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:content-type; bh=Zo2oWhp5rYLmgzXfjmQ9vFUGEcn2yEdGiHJ/zppZMJY=; b=Inw6TpOnyWoAjdm+v7F9irwmUGjUw1t021oxkuSo589iP11BrzFi+49kbd2QAV67j/ +QZ/HzvHoWcbE/jW/f1aEJ2SZ9AZLULfAi8ebWKhcchxEgRzp8E0rSN+b4tPYfyHFWYN QoVp2YzBU/Uh7P5kZ33pPts/5LoSoXj48mtqastKX7/n7ZcnyFZ8wKf18JXlWIa2Otsc oYXjXUe3lIKhoaQw0dGzWMFn5/7yv6H51cLfU55zlf2jCSGl40mgEuTUJpyglvHhyBKY x4y+HUfNf1TiCI+R53PsAnusB10QGTtyh5HoTV6ZNffloTSmfcaZWoVNn1lxQhKof5BA /DMg== X-Gm-Message-State: ALoCoQnF4y1D8TGHZyXp8EIuvE9hGen3ZZHYmhZiXHl60iI7Rc1i90GvKd2IVW0BUefxQj36DpNIurnsE7yBBBNu5wQOC0tt+nKj2zPszYocRthDPkz+mPY= MIME-Version: 1.0 X-Received: by 10.236.39.72 with SMTP id c48mr3872279yhb.89.1396476173553; Wed, 02 Apr 2014 15:02:53 -0700 (PDT) Received: by 10.170.79.84 with HTTP; Wed, 2 Apr 2014 15:02:53 -0700 (PDT) In-Reply-To: <1396475321.69501.YahooMailNeo@web125704.mail.ne1.yahoo.com> References: <1396475321.69501.YahooMailNeo@web125704.mail.ne1.yahoo.com> Date: Wed, 2 Apr 2014 15:02:53 -0700 Message-ID: Subject: Re: Putting the hdfs client as a separate jar From: Haohui Mai To: hdfs-dev@hadoop.apache.org Content-Type: multipart/alternative; boundary=001a1136bd6644216f04f61672da X-Virus-Checked: Checked by ClamAV on apache.org --001a1136bd6644216f04f61672da Content-Type: text/plain; charset=US-ASCII The rpc and the web client can stay in one jar for the first cut. Indeed it might introduce some extra dependency, but the downstream projects always have the option to implement the webhdfs protocol themselves if they really need to avoid the dependency. Hadoop common is a bigger problem. Indeed the hadoop common jar needs to be separated into smaller modules to minimize the dependency. This needs to be addressed as well. The good news is that it can be done in a incremental way. We can revisit the dependency of hadoop-common after separating the jar of the hdfs client. ~Haohui On Wed, Apr 2, 2014 at 2:48 PM, Tsz Wo Sze wrote: > It is a very good idea although it might not be easy to do. One aspect to > consider is that do we need separated jars for rpc client and web client? > Now, suppose we could successfully separate HFDS Client jar(s) from HDFS. > However, HDFS Client uses Common as a library. We have to > separate Common since it also has a lot of dependent jars. I guess we > might have to divide Common and HDFS into small modules and figure out the > dependency between them. > > Tsz-Wo > On Wednesday, April 2, 2014 2:28 PM, Haohui Mai > wrote: > > Hi, > > > >Many downstream projects needs the ability to access hdfs. In order to do > >this, currently downstream projects are forced to bring in the whole hdfs > >jar and its dependency, since both the hdfs server and the hdfs client > >reside in the same jar. > > > >To integrate with hdfs, the downstream projects are forced to manage the > >excess dependency from the hdfs server side (e.g., jersey, servlet, netty, > >and jsp-runtime, just to name a few). In my own experience, I ended up > >spending quite a bit of time on tweaking the POMs to work around > collisions > >of dependent jars. > > > >To solve this problem, I propose to reorganize the code to put hdfs client > >into a separate jar. That way the client jar no longer depends on the jars > >that are required by the server side, therefore it is easier for the > >downstream projects to integrate with hdfs. > > > >Your feedbacks are appreciated. > > > >Regards, > >Haohui > > > >-- > >CONFIDENTIALITY NOTICE > >NOTICE: This message is intended for the use of the individual or entity > to > >which it is addressed and may contain information that is confidential, > >privileged and exempt from disclosure under applicable law. If the reader > >of this message is not the intended recipient, you are hereby notified > that > >any printing, copying, dissemination, distribution, disclosure or > >forwarding of this communication is strictly prohibited. If you have > >received this communication in error, please contact the sender > immediately > >and delete it from your system. Thank You. > > > > > > -- CONFIDENTIALITY NOTICE NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You. --001a1136bd6644216f04f61672da--