hadoop-common-dev mailing list archives

[jira] Commented: (HADOOP-2932) Trash initialization generates "deprecated filesystem name" warning even if the name is correct.

Date

Tue, 04 Mar 2008 18:43:41 GMT

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