Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-2441

SubWorkflow action with propagate-configuration but no global section throws NPE on submit

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • trunk
    • 4.3.0
    • action
    • None

    Description

      After OOZIE-2030, if you have a SubWorkflow Action with <propagate-configuration/> and no <global> section, you'll get an NPE:

      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
      
      <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>
      

      Attachments

        1. OOZIE-2441.001.patch
          4 kB
          Robert Kanter
        2. OOZIE-2441.002.patch
          4 kB
          Robert Kanter

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            rkanter Robert Kanter
            rkanter Robert Kanter
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment