Tianyin Xu created HADOOP-13777:
-----------------------------------
Summary: 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
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]