[ https://issues.apache.org/jira/browse/HDFS-9241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14964272#comment-14964272 ]
Haohui Mai commented on HDFS-9241: ---------------------------------- bq. most of the problematic dependencies like Jackson, Guava, Jetty, Jersey, Netty, Xerces, Protobuf are included in the client anyway I found that the above statement inaccurate. Many of the above dependency comes as transitive dependency from hadoop-common. They are not needed from hadoop-hdfs-client. They can be excluded as what have been done in hadoop client. Just to give an example, we cleaned up the implementation of log4j in the module (HDFS-6564). I don't see how this can be done correctly without the breakdown. As the refactor continues to break down hadoop-common into server / client modules, I anticipate that this is a non-issue. The shadowing approach is complementary. However, having a client that shadows 2000 classes that it doesn't need that it happens to work at a first glance but it doesn't seems elegant and responsible in the long term. > HDFS clients can't construct HdfsConfiguration instances > -------------------------------------------------------- > > Key: HDFS-9241 > URL: https://issues.apache.org/jira/browse/HDFS-9241 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client > Reporter: Steve Loughran > Assignee: Mingliang Liu > Attachments: HDFS-9241.000.patch > > > the changes for the hdfs client classpath make instantiating > {{HdfsConfiguration}} from the client impossible; it only lives server side. > This breaks any app which creates one. > I know people will look at the {{@Private}} tag and say "don't do that then", > but it's worth considering precisely why I, at least, do this: it's the only > way to guarantee that the hdfs-default and hdfs-site resources get on the > classpath, including all the security settings. It's precisely the use case > which {{HdfsConfigurationLoader.init();}} offers internally to the hdfs code. > What am I meant to do now? -- This message was sent by Atlassian JIRA (v6.3.4#6332)