[ https://issues.apache.org/jira/browse/HADOOP-7947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14534239#comment-14534239 ]
Ajith S commented on HADOOP-7947: --------------------------------- Thanks for the patch I was testing the patch and have few comments/questions 1. According to the help, *-conffile* can accept a file or folder, but when we give neither, its throwing stacktrace, its better we instead return a normal message like "Expected a File or Folder". Just a suggestion {quote} *root@voltan:/opt/app/hadoop-2.7.0/bin# ./hadoop conftest -h* Usage: hadoop conftest [-conffile <path>|-h|--help] Options: -conffile <path> If specified, that path will be verified. You can specify this option multiple times. Both file and directory are acceptable. If a directory specified, the files whose name end with .xml in that directory will be verified. If not specified, the files whose name end with .xml in $HADOOP_CONF_DIR will be verified. -h, --help Print this help *root@voltan:/opt/app/hadoop-2.7.0/bin# ./hadoop conftest -conffile* Exception in thread "main" org.apache.commons.cli.MissingArgumentException: Missing argument for option: conffile at org.apache.commons.cli.Parser.processArgs(Parser.java:343) at org.apache.commons.cli.Parser.processOption(Parser.java:393) at org.apache.commons.cli.Parser.parse(Parser.java:199) at org.apache.commons.cli.Parser.parse(Parser.java:85) at org.apache.hadoop.util.ConfTest.main(ConfTest.java:220) {quote} 2. *conftest -conf* behaviour is quite confusing when argument is missing, its printing the help *and* also its validating the default folder, is this fine.?? i feel in this scenario it should have printed the error with generic usage and return. {quote} *root@voltan:/opt/app/hadoop-2.7.0/bin# ./hadoop conftest -conf* 15/05/08 15:03:25 WARN util.GenericOptionsParser: options parsing failed: Missing argument for option: conf usage: general options are: -archives <paths> comma separated archives to be unarchived on the compute machines. -conf <configuration file> specify an application configuration file -D <property=value> use value for given property -files <paths> comma separated files to be copied to the map reduce cluster -fs <local|namenode:port> specify a namenode -jt <local|resourcemanager:port> specify a ResourceManager -libjars <paths> comma separated jar files to include in the classpath. -tokenCacheFile <tokensFile> name of the file with the tokens /opt/app/hadoop-2.7.0/etc/hadoop/hdfs-site.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/capacity-scheduler.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/hadoop-policy.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/core-site.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/kms-acls.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/kms-site.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/mapred-site.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/yarn-site.xml: valid /opt/app/hadoop-2.7.0/etc/hadoop/httpfs-site.xml: valid OK root@voltan:/opt/app/hadoop-2.7.0/bin# {quote} > Validate XMLs if a relevant tool is available, when using scripts > ----------------------------------------------------------------- > > Key: HADOOP-7947 > URL: https://issues.apache.org/jira/browse/HADOOP-7947 > Project: Hadoop Common > Issue Type: Wish > Components: scripts > Affects Versions: 2.7.0 > Reporter: Harsh J > Assignee: Kengo Seki > Labels: BB2015-05-TBR, newbie > Attachments: HADOOP-7947.001.patch, HADOOP-7947.002.patch, > HADOOP-7947.003.patch, HADOOP-7947.004.patch > > > Given that we are locked down to using only XML for configuration and most of > the administrators need to manage it by themselves (unless a tool that > manages for you is used), it would be good to also validate the provided > config XML (*-site.xml) files with a tool like {{xmllint}} or maybe Xerces > somehow, when running a command or (at least) when starting up daemons. > We should use this only if a relevant tool is available, and optionally be > silent if the env. requests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)