[ https://issues.apache.org/jira/browse/HDFS-10397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15283184#comment-15283184 ]
Yongjun Zhang commented on HDFS-10397: -------------------------------------- Hi [~liuml07], Thanks for the patch. I did a quick browse, and have the following suggestion. Instead of changing {{validate}} method, I think we can possibly change the {{OptionParser#parse}} method, something like {code} boolean deleteMissing = command.hasOption(DistCpOptionSwitch.DELETE_MISSING.getSwitch()); boolean diff = command.hasOption(DistCpOptionSwitch.DIFF.getSwitch()); boolean ignoreDeleteMissing = deleteMissing && diff; if (ignoreDeleteMissing) { // issue warning message } else if (deleteMissing) { //set deleteMissing } if (diff) { // set diff } {code} Basically let the parser to decide whether to ignore some switches, and let {{DistCpOption#validate}} to decide other invalid situations and throw InvalidArguement exception. This seems cleaner to me. What do you think? Thanks. > Distcp should ignore -delete option if -diff option is provided instead of > exiting > ---------------------------------------------------------------------------------- > > Key: HDFS-10397 > URL: https://issues.apache.org/jira/browse/HDFS-10397 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 2.8.0 > Reporter: Mingliang Liu > Assignee: Mingliang Liu > Attachments: HDFS-10397.000.patch, HDFS-10397.001.patch > > > In distcp, {{-delete}} and {{-diff}} options are mutually exclusive. > [HDFS-8828] brought strictly checking which makes the existing applications > (or scripts) that work just fine with both {{-delete}} and {{-diff}} options > previously stop performing because of the > {{java.lang.IllegalArgumentException: Diff is valid only with update > options}} exception. > To make it backward incompatible, we can ignore the {{-delete}} option, given > {{-diff}} option, instead of exiting the program. Along with that, we can > print a warning message saying that _Diff is valid only with update options, > and -delete option is ignored_. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org