[
https://issues.apache.org/jira/browse/HDFS-5582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13859019#comment-13859019
]
Andrew Wang commented on HDFS-5582:
-----------------------------------
Thanks satish. I tested this locally manually, and it seems to work. I just
have some nitty requests:
* Please use follow the code style conventions for the new tests, i.e. two
space tabs, no trailing whitespace, single space between "Exception{", 80
character max line width. I use this eclipse formatter to do it for me:
https://github.com/cloudera/blog-eclipse/blob/master/hadoop-format.xml
* This is optional, but do you mind fixing up the spacing for the help text
while we're modifying GetConf? It's ragged right now:
{noformat}
-> % hdfs getconf
13/12/30 11:32:00 WARN util.NativeCodeLoader: Unable to load native-hadoop
library for your platform... using builtin-java classes where applicable
hdfs getconf is utility for getting configuration information from the config
file.
hadoop getconf
[-namenodes] gets list of namenodes in the cluster.
[-secondaryNameNodes] gets list of secondary
namenodes in the cluster.
[-backupNodes] gets list of backup nodes in the
cluster.
[-includeFile] gets the include file path that defines
the datanodes that can join the cluster.
[-excludeFile] gets the exclude file path that defines
the datanodes that need to decommissioned.
[-nnRpcAddresses] gets the namenode rpc addresses
[-confKey [key]] gets a specific key from the
configuration
{noformat}
> hdfs getconf -excludeFile or -includeFile always failed
> -------------------------------------------------------
>
> Key: HDFS-5582
> URL: https://issues.apache.org/jira/browse/HDFS-5582
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 2.1.0-beta, 2.2.0, 2.3.0
> Reporter: Henry Hung
> Assignee: sathish
> Priority: Minor
> Fix For: 2.3.0
>
> Attachments: 00001-HDFS-5582.patch, 0002-HDFS-5582.patch
>
>
> In hadoop-2.2.0, if you execute getconf for exclude and include file, it will
> return this error message:
> {code}
> [hadoop@fphd1 hadoop-2.2.0]$ bin/hdfs getconf -excludeFile
> Configuration DFSConfigKeys.DFS_HOSTS_EXCLUDE is missing.
> [hadoop@fphd1 hadoop-2.2.0]$ bin/hdfs getconf -includeFile
> Configuration DFSConfigKeys.DFS_HOSTS is missing.
> {code}
> I found out the root cause is very simple, it’s because the source code of
> {{org/apache/hadoop/hdfs/tools/GetConf.java}} hard coded it to
> {{"DFSConfigKeys.DFS_HOSTS"}} and {{"DFSConfigKeys.DFS_HOSTS_EXCLUDE"}}
> {code}
> map.put(INCLUDE_FILE.getName().toLowerCase(),
> new CommandHandler("DFSConfigKeys.DFS_HOSTS"));
> map.put(EXCLUDE_FILE.getName().toLowerCase(),
> new CommandHandler("DFSConfigKeys.DFS_HOSTS_EXCLUDE"));
> {code}
> A simple fix would be to remove the quote:
> {code}
> map.put(INCLUDE_FILE.getName().toLowerCase(),
> new CommandHandler(DFSConfigKeys.DFS_HOSTS));
> map.put(EXCLUDE_FILE.getName().toLowerCase(),
> new CommandHandler(DFSConfigKeys.DFS_HOSTS_EXCLUDE));
> {code}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)