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

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

As I mentioned earlier, the dependencies your client artifact brings with it is 
a defining part of the interface you are exposing downstream applications to. 
That means we need the ability to manipulate those dependencies, even if we're 
only going to do so at a later date. Placing hadoop-hdfs-client as a dependency 
of hadoop-hdfs sets up a relationship that we'll have to adjust in the future 
if we e.g. decide that shading the third-party dependencies of 
hadoop-hdfs-client is the way to go.

I only mention the internal artifact as an alternative if having DFSClient live 
in hadoop-hdfs is undesirable. Personally, I think having things stay where 
they are and using maven to build the client artifact will be the easiest to 
maintain. However, there might be other mitigating factors I'm not aware of 
that make breaking the code into a new module desirable.

> 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