[ 
https://issues.apache.org/jira/browse/HADOOP-2885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575980#action_12575980
 ] 

Sanjay Radia commented on HADOOP-2885:
--------------------------------------

>You can't put DistributedFileSystem and DFSClient in separate src directories 
>without making a cyclic dependence and that is very bad. Therefore, I >think 
>they both need to be in the hdfs src tree. I think it is less confusing to 
>have the src trees not overlap packages and therefore it would be better to 
>>have it in org.apache.hadoop.hdfs. I would even propose merging DFSClient and 
>DistributeFileSystem into a single class...

Some pros and cons:
If you leave DistributedFileSystem and DFSClient in hdfs then client 
application will need to link against a jar from  hdfs. ie client apps 
will link against core.jar and hdfs_client.jar. The advantage of this scheme is 
that the src tree for core will not show any of the source that the client
isn't suppose to use.

If you leave those two in core then the advantage is that the client has to 
link against one jar: core.jar. 
The disadvantage of this scheme is that the java doc for core should explicitly 
exclude the hdfs client side classes which happen to sit in the same src 
tree.

> Restructure the hadoop.dfs package
> ----------------------------------
>
>                 Key: HADOOP-2885
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2885
>             Project: Hadoop Core
>          Issue Type: Sub-task
>          Components: dfs
>            Reporter: Sanjay Radia
>            Assignee: Sanjay Radia
>            Priority: Minor
>             Fix For: 0.17.0
>
>         Attachments: Prototype dfs package.png
>
>
> This Jira proposes restructurign the package hadoop.dfs.
> 1. Move all server side and internal protocols (NN-DD etc) to 
> hadoop.dfs.server.*
> 2. Further breakdown of dfs.server.
> - dfs.server.namenode.*
> - dfs.server.datanode.*
> - dfs.server.balancer.*
> - dfs.server.common.* - stuff shared between the various servers
> - dfs.protocol.*  - internal protocol between DN, NN and Balancer etc.
> 3. Client interface:
> - hadoop.dfs.DistributedFileSystem.java
> - hadoop.dfs.ChecksumDistributedFileSystem.java
> - hadoop.dfs.HftpFilesystem.java
> - hadoop.dfs.protocol.* - the client side protocol

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to