You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Attila Sasvari (JIRA)" <ji...@apache.org> on 2017/06/28 11:35:00 UTC

[jira] [Created] (OOZIE-2974) Change TestLiteWorkflowAppParser so that it works with Hadoop 3

Attila Sasvari created OOZIE-2974:
-------------------------------------

             Summary: Change TestLiteWorkflowAppParser so that it works with Hadoop 3
                 Key: OOZIE-2974
                 URL: https://issues.apache.org/jira/browse/OOZIE-2974
             Project: Oozie
          Issue Type: Bug
            Reporter: Attila Sasvari


{{TestLiteWorkflowAppParser}}  uses a [cleanupXML|https://github.com/apache/oozie/blob/branch-4.3/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java#L54] function to remove certain elements from a generated configuration XML when comparing with an expected value ([testParserGlobal()|https://github.com/apache/oozie/blob/branch-4.3/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java#L139] ):

{code}
 private String cleanupXml(String xml) {
        xml = xml.replaceAll(" xmlns=?(\"|\')(\"|\')", "");
        xml = xml.replaceAll("\\s*<source>.*</source>", "");    // remove the <source> added by Hadoop 2
        return xml;
    }
{code}


[HADOOP-14216|https://issues.apache.org/jira/browse/HADOOP-14216] introduced a new "final" tag in the configuration that is set when hadoop 3 alpha 3 is used. See https://github.com/apache/hadoop/blob/branch-3.0.0-alpha3/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java#L2952

If we run the the test {{TestLiteWorkflowAppParser#testParserGlobal}}, it currently fails with:
{noformat}
Failed tests:   testParserGlobal(org.apache.oozie.workflow.lite.TestLiteWorkflowAppParser): null expected:<...(..)
{noformat}

generated config that is returned by {{app.getNode("d").getConf()}} is as follows:
{noformat}
<map-reducexmlns="uri:oozie:workflow:0.4">
<prepare>
<deletepath="/tmp"/>
<mkdirpath="/tmp"/>
</prepare>
<streaming>
<mapper>/mycat.sh</mapper>
<reducer>/mywc.sh</reducer>
</streaming>
<file>/tmp</file>
<archive>/tmp</archive>
<name-node>bar</name-node>
<job-tracker>${foo}</job-tracker>
<configuration>
<property>
<name>b</name>
<value>B</value>
<final>false</final>
</property>
<property>
<name>a</name>
<value>A</value>
<final>false</final>
</property>
</configuration>
</map-reduce>
{noformat}

Tests pass, if we remove the {{final}} element. For example we can the following to {{cleanupXml()}}
{code}
xml = xml.replaceAll("\\s*<final>.*</final>", "");    // remove the <final> added by Hadoop 3
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)