[ 
https://issues.apache.org/jira/browse/HDFS-6200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14349520#comment-14349520
 ] 

Sean Busbey commented on HDFS-6200:
-----------------------------------

Since this new artifact is opt-in (since clients would have to change to it), 
we could instead use it to build an aggregate jar with no transitive 
dependencies. For this approach, we should not make the old hadoop-hdfs depend 
on it (since there will presumably be some shaded or otherwise isolated version 
of third party libraries present).

We could still do the move incrementally by relying on maven to build the 
artifact with just those classes we need from hadoop-hdfs.

That way, extant downstream applications who want to keep the current behavior 
can keep depending on hadoop-hdfs (or hadoop-client or whatever), and 
downstream applications who want the improved client dependency can change. 
When we're ready for a breaking change, we similarly announce that downstream 
applications should not be relying on hadoop-hdfs.

> Create a separate jar for hdfs-client
> -------------------------------------
>
>                 Key: HDFS-6200
>                 URL: https://issues.apache.org/jira/browse/HDFS-6200
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Haohui Mai
>            Assignee: Haohui Mai
>         Attachments: HDFS-6200.000.patch, HDFS-6200.001.patch, 
> HDFS-6200.002.patch, HDFS-6200.003.patch, HDFS-6200.004.patch, 
> HDFS-6200.005.patch, HDFS-6200.006.patch, HDFS-6200.007.patch
>
>
> Currently the hadoop-hdfs jar contain both the hdfs server and the hdfs 
> client. As discussed in the hdfs-dev mailing list 
> (http://mail-archives.apache.org/mod_mbox/hadoop-hdfs-dev/201404.mbox/browser),
>  downstream projects are forced to bring in additional dependency in order to 
> access hdfs. The additional dependency sometimes can be difficult to manage 
> for projects like Apache Falcon and Apache Oozie.
> This jira proposes to create a new project, hadoop-hdfs-cliient, which 
> contains the client side of the hdfs code. Downstream projects can use this 
> jar instead of the hadoop-hdfs to avoid unnecessary dependency.
> Note that it does not break the compatibility of downstream projects. This is 
> because old downstream projects implicitly depend on hadoop-hdfs-client 
> through the hadoop-hdfs jar.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to