[ 
https://issues.apache.org/jira/browse/HADOOP-12362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14717308#comment-14717308
 ] 

Hudson commented on HADOOP-12362:
---------------------------------

FAILURE: Integrated in Hadoop-Yarn-trunk-Java8 #317 (See 
[https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/317/])
HADOOP-12362. Set hadoop.tmp.dir and hadoop.log.dir in pom. Contributed by 
Charlie Helin. (wang: rev 90fe7bcc3b30f8497d7a5124c91c5aea28f2fccb)
* hadoop-project/pom.xml
* hadoop-common-project/hadoop-common/CHANGES.txt
* hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/pom.xml


> Set hadoop.tmp.dir and hadoop.log.dir in pom
> --------------------------------------------
>
>                 Key: HADOOP-12362
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12362
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.7.1
>            Reporter: Charlie Helin
>            Assignee: Charlie Helin
>             Fix For: 2.8.0
>
>         Attachments: mr-6455.1.patch, mr-6455.2.patch, mr-6455.2.patch, 
> mr-6455.3.patch, mr-6455.4.patch
>
>
> There are some compelling features in later version of surefire which lets 
> one exclude/include tests based the content of a file, re-running of test 
> case etc.
> However introduced in Surefire 2.18 is also 
> https://issues.apache.org/jira/browse/SUREFIRE-649. Which changed the 
> convention of null properties to empty string values (""). This only applies 
> to forked tests such as the MapReduce tests and cause a couple of them to 
> fail because of functionality that is directly or indirectly dependent on the 
> value being null. One such example is Configuration.substituteVars() and 
> TaskLog.getBaseLogDir().
> substituteVars() shows the issue when the getProperty returns empty String, 
> skipping the getRaw(var) expression. One way to work around this could be
> {code} 
>    if (val == null || val.isEmpty()) {
>         String raw = getRaw(var);
>         if (raw != null) {
>           // raw contains a value, otherwise default to whatever 
> System.getProperty returned
>           // since it could be an empty string
>           val = raw;
>         }
>       }
> {code}
> getBaseLogDir, similarly when returns an empty string the schematics of 
> java.io.File differs dependent on whether parent is null or "". A null value 
> is interpreted as new File(file); whereas "" will be interpreted as new 
> File(defaultParent /* / */, file);
> This could simply be addressed with 
> {code}
>   static String getBaseLogDir() {
>     String logDir = System.getProperty("hadoop.log.dir");
>     // there is a difference how null and "" is treated as a parent
>     // directory when creating a file
>     return logDir == null || logDir.isEmpty() ? null : logDir;
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to