[ https://issues.apache.org/jira/browse/HADOOP-6702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ravi Phulari resolved HADOOP-6702. ---------------------------------- Resolution: Fixed HADOOP-6701 Fixes this issue. > 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.19.1, 0.20.0, 0.20.1, 0.20.2 > 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. - You can reply to this email to add a comment to the issue online.