You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Roman Krüger (JIRA)" <ji...@apache.org> on 2015/11/12 10:42:10 UTC

[jira] [Created] (OOZIE-2400) Workflow xml configuration parser cannot deal with namespace qualifier

Roman Krüger created OOZIE-2400:
-----------------------------------

             Summary: Workflow xml configuration parser cannot deal with namespace qualifier
                 Key: OOZIE-2400
                 URL: https://issues.apache.org/jira/browse/OOZIE-2400
             Project: Oozie
          Issue Type: Bug
          Components: core
    Affects Versions: 4.2.0, 4.1.0, trunk, 4.3.0
         Environment: Oracle Linux 6.6, Oozie 4.1.0, Cloudera CDH 5.4.2
            Reporter: Roman Krüger
            Priority: Critical
             Fix For: trunk, 4.3.0, 4.2.0, 4.1.0


When running a java action and a spark action via an oozie workflow xml, the xml contains multiple namespaces (e.g. uri:oozie:workflow:0.5 and uri:oozie:spark-action:0.1).
Thus the elements need to be prefixed by the namespace qualifier. But when running this workflow, the configuration parser throws the exception "*JA009: bad conf file: top-level element not <configuration>*".

The bug is located in class org.apache.oozie.util.XConfiguration in methods "parseDocument(Document doc)" and "processNodes(Element root)". The xml tags here are retrieved via "getTagName" and compared against prefix-less strings (like "configuration"). This fails if the tag contains a namespace qualifier and there is no workaround!

Here is an easy fix for this. All calls of "getTagName()" in these 2 methods can be replaced by "getLocalName()".




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