You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Wangda Tan (JIRA)" <ji...@apache.org> on 2014/05/22 07:18:38 UTC

[jira] [Created] (HADOOP-10625) Configuration: names should be trimmed when putting/getting to properties

Wangda Tan created HADOOP-10625:
-----------------------------------

             Summary: Configuration: names should be trimmed when putting/getting to properties
                 Key: HADOOP-10625
                 URL: https://issues.apache.org/jira/browse/HADOOP-10625
             Project: Hadoop Common
          Issue Type: Bug
          Components: conf
    Affects Versions: 2.4.0
            Reporter: Wangda Tan


Currently, Hadoop will not trim name when putting a pair of k/v to property. But when loading configuration from file, names will be trimmed:
(In Configuration.java)
{code}
          if ("name".equals(field.getTagName()) && field.hasChildNodes())
            attr = StringInterner.weakIntern(
                ((Text)field.getFirstChild()).getData().trim());
          if ("value".equals(field.getTagName()) && field.hasChildNodes())
            value = StringInterner.weakIntern(
                ((Text)field.getFirstChild()).getData());
{code}
With this behavior, following steps will be problematic:
1. User incorrectly set " hadoop.key=value" (with a space before hadoop.key)
2. User try to get "hadoop.key", cannot get "value"
3. Serialize/deserialize configuration (Like what did in MR)
4. User try to get "hadoop.key", can get "value", which will make inconsistency problem.



--
This message was sent by Atlassian JIRA
(v6.2#6252)