Incorrect exit codes for "dfs -chown", "dfs -chgrp" when input is given in wildcard format. --------------------------------------------------------------------------------------------
Key: HADOOP-6702 URL: https://issues.apache.org/jira/browse/HADOOP-6702 Project: Hadoop Common Issue Type: Bug Components: fs Affects Versions: 0.20.2, 0.20.1, 0.20.0, 0.19.1 Reporter: Ravi Phulari Assignee: Ravi Phulari Priority: Minor Fix For: 0.20.3, 0.21.0, 0.22.0 Currently incorrect exit codes are given for "dfs -chown", "dfs -chgrp" when input is given in wildcard format. This bug is due to missing update of errors count in {{FsShell.java}}. {code:title=FsShell.java|borderStyle=solid} int runCmdHandler(CmdHandler handler, String[] args, int startIndex, boolean recursive) throws IOException { int errors = 0; for (int i=startIndex; i<args.length; i++) { Path srcPath = new Path(args[i]); FileSystem srcFs = srcPath.getFileSystem(getConf()); Path[] paths = FileUtil.stat2Paths(srcFs.globStatus(srcPath), srcPath); for(Path path : paths) { try { FileStatus file = srcFs.getFileStatus(path); if (file == null) { System.err.println(handler.getName() + ": could not get status for '" + path + "'"); errors++; } else { errors += runCmdHandler(handler, file, srcFs, recursive); } } catch (IOException e) { String msg = (e.getMessage() != null ? e.getLocalizedMessage() : (e.getCause().getMessage() != null ? e.getCause().getLocalizedMessage() : "null")); System.err.println(handler.getName() + ": could not get status for '" + path + "': " + msg.split("\n")[0]); errors++; } } } {code} If there are no files on HDFS matching to wildcard input then {{srcFs.globStatus(srcpath)}} returns 0. {{ Path[] paths = FileUtil.stat2Paths(srcFs.globStatus(srcPath), srcPath);}} Resulting no increment in {{errors}} and command exits with 0 even though file/directory does not exist. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira