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