Robert Kanter created OOZIE-2441:
------------------------------------

             Summary: SubWorkflow action with propagate-configuration but no 
global section throws NPE on submit
                 Key: OOZIE-2441
                 URL: https://issues.apache.org/jira/browse/OOZIE-2441
             Project: Oozie
          Issue Type: Bug
          Components: action
    Affects Versions: trunk
            Reporter: Robert Kanter
            Assignee: Robert Kanter
            Priority: Blocker
             Fix For: trunk


After OOZIE-2030, if you have a SubWorkflow Action with 
{{<propagate-configuration/>}} and no {{<global>}} section, you'll get an NPE:
{noformat}
SERVER[nightly56-1.vpc.cloudera.com] USER[-] GROUP[-] TOKEN[-] APP[-] JOB[-] 
ACTION[-] URL[POST 
http://nightly56-1.vpc.cloudera.com:11000/oozie/v1/jobs?action=dryrun&timezone=America%2FLos_Angeles&user.name=hue&doAs=admin]
 error[E0803], E0803: IO error, null
org.apache.oozie.servlet.XServletException: E0803: IO error, null
        at 
org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:197)
        at 
org.apache.oozie.servlet.V1JobsServlet.submitJob(V1JobsServlet.java:92)
        at 
org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:102)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at 
org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:289)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
        at 
org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:589)
        at 
org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:552)
        at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.oozie.DagEngineException: E0803: IO error, null
        at org.apache.oozie.DagEngine.dryRunSubmit(DagEngine.java:542)
        at 
org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:189)
        ... 26 more
Caused by: org.apache.oozie.command.CommandException: E0803: IO error, null
        at 
org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:278)
        at 
org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:76)
        at org.apache.oozie.command.XCommand.call(XCommand.java:286)
        at org.apache.oozie.DagEngine.dryRunSubmit(DagEngine.java:540)
        ... 27 more
Caused by: java.lang.NullPointerException
        at 
org.apache.oozie.workflow.lite.LiteWorkflowAppParser.getGlobalString(LiteWorkflowAppParser.java:554)
        at 
org.apache.oozie.workflow.lite.LiteWorkflowAppParser.parse(LiteWorkflowAppParser.java:478)
        at 
org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateAndParse(LiteWorkflowAppParser.java:198)
        at 
org.apache.oozie.workflow.lite.LiteWorkflowLib.parseDef(LiteWorkflowLib.java:57)
        at 
org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:58)
        at 
org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:47)
        at 
org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:165)
        ... 30 more
{noformat}

{code:xml}
<workflow-app xmlns="uri:oozie:workflow:0.4" name="test-wf">
        
    <start to="a"/>
    
    <action name="a">
            <sub-workflow>
                <app-path>/tmp/foo/</app-path>
                <propagate-configuration/>
            </sub-workflow>
        <ok to="c"/>
        <error to="b"/>
    </action>

    <kill name="b">
        <message>fail</message>
    </kill>

    <end name="c"/>
</workflow-app>
{code}



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

Reply via email to