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.