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

Reply via email to