hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yongjun Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-10397) Distcp should ignore -delete option if -diff option is provided instead of exiting
Date Fri, 13 May 2016 21:36:12 GMT

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

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?


> 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

To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org

View raw message