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.