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)

Reply via email to