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 "Sebastian Nagel (JIRA)" <ji...@apache.org> on 2013/11/01 16:45:23 UTC

[jira] [Created] (HADOOP-10080) Variables in configuration properties are substituted in wrong order of precedence

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)