[
https://issues.apache.org/jira/browse/HADOOP-13777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tianyin Xu updated HADOOP-13777:
--------------------------------
Comment: was deleted
(was: patch against trunk)
> Trim configuration values in `rumen`
> ------------------------------------
>
> Key: HADOOP-13777
> URL: https://issues.apache.org/jira/browse/HADOOP-13777
> Project: Hadoop Common
> Issue Type: Bug
> Components: tools
> Affects Versions: 3.0.0-alpha1
> Reporter: Tianyin Xu
> Priority: Minor
> Attachments: HADOOP-13777.0000.patch
>
>
> The current implementation of {{ClassName.java}} in {{rumen}} does not follow
> the practice of trimming configuration values. This leads to silent and
> hard-to-diagnosis errors if users set values containing space or
> newline---basically classes supposed to need anonymization will not do.
> See the previous commits as reference (just list a few):
> HADOOP-6578. Configuration should trim whitespace around a lot of value types
> HADOOP-6534. Trim whitespace from directory lists initializing
> Patch is available against trunk
> HDFS-9708. FSNamesystem.initAuditLoggers() doesn't trim classnames
> HDFS-2799. Trim fs.checkpoint.dir values.
> YARN-3395. FairScheduler: Trim whitespaces when using username for queuename.
> YARN-2869. CapacityScheduler should trim sub queue names when parse
> configuration.
> Patch is available against trunk (tested):
> {code:title=ClassName.java|borderStyle=solid}
> @@ -43,15 +43,13 @@ protected String getPrefix() {
> @Override
> protected boolean needsAnonymization(Configuration conf) {
> - String[] preserves = conf.getStrings(CLASSNAME_PRESERVE_CONFIG);
> - if (preserves != null) {
> - // do a simple starts with check
> - for (String p : preserves) {
> - if (className.startsWith(p)) {
> - return false;
> - }
> + String[] preserves = conf.getTrimmedStrings(CLASSNAME_PRESERVE_CONFIG);
> + // do a simple starts with check
> + for (String p : preserves) {
> + if (className.startsWith(p)) {
> + return false;
> }
> }
> return true;
> }
> {code}
> (the NULL check is no longer needed because {{getTrimmedStrings}} returns an
> empty array if nothing is set)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]