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

Haohui Mai commented on HDFS-6200:
----------------------------------

bq. 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.

Don't you agree we need a client jar?

I see you point. This jira, however, is about creating the client jar. 
Everything below the client jar is implementation detail. I don't think it need 
to be mixed with this jira. 

bq. Personally, I think having things stay where they are and using maven to 
build the client artifact will be the easiest to maintain

I don't agree. We did that for {{hadoop-client}}, which is available today. 
You're more than welcome to contribute and to clean things up. We've been hit 
really hard on resolving dependency conflicts in Oozie (which uses tomcat's 
classloader), Ranger (depends on different version of jersey-server), Spark 
(has a conflicting version of asm). We need a client jar whose dependency can 
be carefully and explicitly managed.

> 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