[
https://issues.apache.org/jira/browse/HDFS-10556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15345104#comment-15345104
]
Mingliang Liu commented on HDFS-10556:
--------------------------------------
Per-offline discussion with [~jingzhao], we should keep the {{validate()}}
method signature as it-was. The reason was that it's a public API and
downstream applications may call it directly before calling setters. The v1
patch is to make the code similar to pre- [HDFS-10397]. The changes are:
# Ignore the {{delete}} option if {{useDiff}} is set. This is processed in both
{{setDeleteMissing()}} and {{setUseDiff()}}
# Reuse the {{DistCpOptions}} from v0 patch for unit test
> DistCpOptions should be validated automatically
> -----------------------------------------------
>
> Key: HDFS-10556
> URL: https://issues.apache.org/jira/browse/HDFS-10556
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 2.8.0
> Reporter: Mingliang Liu
> Assignee: Mingliang Liu
> Attachments: HDFS-10556-branch-2.000.patch,
> HDFS-10556-branch-2.001.patch
>
>
> {{DistCpOptions}} can be set from command-line or may be set manually. In
> [HDFS-10397], we refactored the validation to make it simpler and more
> efficient. However, the newly added {{validate()}} method may not be
> automatically revoked. This is the major concern for existing downstreams
> that create the {{DistCpOptions}} manually instead of by parser, and have
> conflicting options.
> This jira is to make the validation happen automatically. A simple fix is to
> use the approach that validates in individual setters. This is a fix for
> {{branch-2}}. As a long-term fix, in [HDFS-10533], we're making the
> {{DistCpOptions}} immutable so that it will be hard, if not impossible, to
> use it wrongly by downstream applications. However, that code will only go to
> {{trunk}} branch as it breaks backwards-compatibility.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]