[
https://issues.apache.org/jira/browse/HADOOP-2932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575094#action_12575094
]
Doug Cutting commented on HADOOP-2932:
--------------------------------------
This is part of what I intended for HADOOP-2902. There are lots of these in
the code. We should sweep through every place that calls
Configuration#set("fs.default.name", ...) and fix these to (a) call
FileSystem.setDefaultUri() and (b) make sure the URI passed is a valid
FileSystem name.
> Trash initialization generates "deprecated filesystem name" warning even if
> the name is correct.
> ------------------------------------------------------------------------------------------------
>
> Key: HADOOP-2932
> URL: https://issues.apache.org/jira/browse/HADOOP-2932
> Project: Hadoop Core
> Issue Type: Bug
> Components: conf, dfs, fs
> Affects Versions: 0.17.0
> Reporter: Konstantin Shvachko
> Assignee: Mahadev konar
> Fix For: 0.17.0
>
>
> HADOOP-1967 made it mandatory to prefix the value of "fs.default.name" with
> "hdfs://".
> # During name-node initialization the value of the "fs.default.name" is set
> to <host>:<port> without the prefix even if the original name was prefixed
> with "hdfs://". This makes the Trash constructor, which is called with the
> modified configuration print the following warning:
> {code}
> 08/03/03 17:29:36 WARN fs.FileSystem: "<host>:<port>" is a deprecated
> filesystem name. Use "hdfs://<host>:<port>/" instead.
> 08/03/03 17:29:36 WARN fs.FileSystem: "<host>:<port>" is a deprecated
> filesystem name. Use "hdfs://<host>:<port>/" instead.
> {code}
> The warning is printed twice because FileSystem.getDefaultUri() is called
> twice during new Trash() and then inside Trash.getEmptier().
> # Other than that the name-node never checks the correctness of the
> "fs.default.name", which it should.
> As a side note the Trash class should be rearranged IMO.
> - The Trash.getEmtier() should be replaced by
> {code}
> static public Runnable getEmptier(Configuration conf) throws IOException
> {code}
> - Trash should have only one private constructor, the one that is called in
> Emtier.run().
> - Then we can replace
> {code} new Trash(conf).getEmptier() {code}
> with
> {code} Trash.getEmptier(conf) {code}
> in order to avoid unnecessary creation of the Trash object on the stack.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.