Sebastian Nagel created HADOOP-10080:
----------------------------------------

             Summary: Variables in configuration properties are substituted in 
wrong order of precedence
                 Key: HADOOP-10080
                 URL: https://issues.apache.org/jira/browse/HADOOP-10080
             Project: Hadoop Common
          Issue Type: Bug
          Components: conf
    Affects Versions: 2.2.0
            Reporter: Sebastian Nagel
            Priority: Minor


API doc of 
[Configuration|https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/conf/Configuration.html]
 states:
{quote}
Value strings are first processed for variable expansion. The available 
properties are:
1.  Other properties defined in this Configuration; and, if a name is undefined 
here,
2.  Properties in System.getProperties().
{quote}
The current implementation of variable expansion, however, gives precedence to 
system properties. If a system property is defined it's value is used no matter 
whether a configuration property of same name exists.
This may cause inconsistent behaviour, e.g., if in the API doc example 
"basedir" is set as system property ({{-Dbasedir=/mnt/tmp}}) the results of two 
intuitively equivalent calls differ:
{code}
 new Path(conf.get("tempdir"))        // = /mnt/data/tmp
 new Path(conf.get("basedir"), "tmp") // = /user/wastl/tmp
{code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to