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

Invalid transition -- nodes of type end are not allowed within Fork/Join

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Invalid
    • trunk
    • None
    • workflow
    • None

    Description

      created a workflow to verify oozie-1035. the xml is very similar to the example in oozie-1142. however the job failed to submit. the job can submit when disable fork-join validation as of oozie-1034.

      xml
      ====
      <workflow-app xmlns='uri:oozie:workflow:0.4' name='forkjoin-errto1'>
      <start to='fork1' />
      <fork name='fork1'>
      <path start='java_fail1' />
      <path start='java_fail2' />
      <path start='java_pass' />
      </fork>
      <action name='java_fail1'>
      <!-- skip -->
      <ok to="join1" />
      <error to="emailfailure" />
      </action>
      <action name='java_fail2'>
      <!-- skip -->
      <ok to="join1" />
      <error to="emailfailure" />
      </action>
      <action name='java_pass'>
      <!-- skip -->
      <ok to="join1" />
      <error to="fail" />
      </action>
      <join name="join1" to="end"/>
      <action name="emailfailure">
      <!-- skip -->
      <ok to="end" />
      <error to="fail" />
      </action>
      <kill name="fail">
      <message>Fork-Join validation failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
      </kill>
      <end name='end' />
      </workflow-app>

      log
      ===
      Error: E0737 : E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join

      2013-01-30 20:52:49,592 ERROR SubmitXCommand:538 - USER[mchiang] GROUP[users] TOKEN[-] APP[-] JOB[-] ACTION[-] XException,
      org.apache.oozie.command.CommandException: E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join
      at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:227)
      at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:71)
      at org.apache.oozie.command.XCommand.call(XCommand.java:277)
      at org.apache.oozie.DagEngine.submitJob(DagEngine.java:109)
      at org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:180)
      at org.apache.oozie.servlet.V1JobsServlet.submitJob(V1JobsServlet.java:80)
      at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:100)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:286)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.yahoo.oozie.security.authentication.filter.YAuthFilter$2.doFilter(YAuthFilter.java:135)
      at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:372)
      at com.yahoo.oozie.security.authentication.filter.YAuthFilter.doFilter(YAuthFilter.java:139)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.YHdrsFilter.doFilter(YHdrsFilter.java:68)
      at yjava.servlet.filter.YHdrsFilter.doFilter(YHdrsFilter.java:52)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.cookie.CookieDataFilter.doFilter(CookieDataFilter.java:447)
      at yjava.cookie.CookieDataFilter.doFilter(CookieDataFilter.java:219)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.DoNotTrackFilter.doFilter(DoNotTrackFilter.java:104)
      at yjava.servlet.filter.DoNotTrackFilter.doFilter(DoNotTrackFilter.java:50)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.remote.ip.RemoteIPFilter.doFilter(RemoteIPFilter.java:104)
      at yjava.remote.ip.RemoteIPFilter.doFilter(RemoteIPFilter.java:65)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.security.yiv.servlet.InputValidationFilter.doFilter(InputValidationFilter.java:219)
      at yjava.security.yiv.servlet.InputValidationFilter.doFilter(InputValidationFilter.java:143)
      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:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at yjava.tomcat.valves.YahooConnectionValve.invoke(YahooConnectionValve.java:191)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.oozie.workflow.WorkflowException: E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:278)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:219)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:222)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:234)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:214)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:174)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateAndParse(LiteWorkflowAppParser.java:141)
      at org.apache.oozie.workflow.lite.LiteWorkflowLib.parseDef(LiteWorkflowLib.java:54)
      at org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:47)
      at org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:42)
      at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:123)
      ... 52 more
      2013-01-30 20:52:49,593 WARN V1JobsServlet:544 - USER[mchiang] GROUP[users] TOKEN[-] APP[-] JOB[-] ACTION[-] URL[POST http://gsbl90547.blue.ygrid.yahoo.com:4080/oozie/v1/jobs?action=start] error[E0737], E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join
      org.apache.oozie.servlet.XServletException: E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join
      at org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:185)
      at org.apache.oozie.servlet.V1JobsServlet.submitJob(V1JobsServlet.java:80)
      at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:100)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:286)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.yahoo.oozie.security.authentication.filter.YAuthFilter$2.doFilter(YAuthFilter.java:135)
      at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:372)
      at com.yahoo.oozie.security.authentication.filter.YAuthFilter.doFilter(YAuthFilter.java:139)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.YHdrsFilter.doFilter(YHdrsFilter.java:68)
      at yjava.servlet.filter.YHdrsFilter.doFilter(YHdrsFilter.java:52)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.cookie.CookieDataFilter.doFilter(CookieDataFilter.java:447)
      at yjava.cookie.CookieDataFilter.doFilter(CookieDataFilter.java:219)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.servlet.filter.DoNotTrackFilter.doFilter(DoNotTrackFilter.java:104)
      at yjava.servlet.filter.DoNotTrackFilter.doFilter(DoNotTrackFilter.java:50)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.remote.ip.RemoteIPFilter.doFilter(RemoteIPFilter.java:104)
      at yjava.remote.ip.RemoteIPFilter.doFilter(RemoteIPFilter.java:65)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at yjava.servlet.FilterChainInvoker$ServletFilterChainInvoker.invoke(FilterChainInvoker.java:49)
      at yjava.security.yiv.servlet.InputValidationFilter.doFilter(InputValidationFilter.java:219)
      at yjava.security.yiv.servlet.InputValidationFilter.doFilter(InputValidationFilter.java:143)
      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:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at yjava.tomcat.valves.YahooConnectionValve.invoke(YahooConnectionValve.java:191)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.oozie.DagEngineException: E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join
      at org.apache.oozie.DagEngine.submitJob(DagEngine.java:116)
      at org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:180)
      ... 48 more
      Caused by: org.apache.oozie.command.CommandException: E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join
      at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:227)
      at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:71)
      at org.apache.oozie.command.XCommand.call(XCommand.java:277)
      at org.apache.oozie.DagEngine.submitJob(DagEngine.java:109)
      ... 49 more
      Caused by: org.apache.oozie.workflow.WorkflowException: E0737: Invalid transition from node [emailfailure] to node [end] – nodes of type end are not allowed within Fork/Join
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:278)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:219)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:222)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:234)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:214)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateForkJoin(LiteWorkflowAppParser.java:174)
      at org.apache.oozie.workflow.lite.LiteWorkflowAppParser.validateAndParse(LiteWorkflowAppParser.java:141)
      at org.apache.oozie.workflow.lite.LiteWorkflowLib.parseDef(LiteWorkflowLib.java:54)
      at org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:47)
      at org.apache.oozie.service.LiteWorkflowAppService.parseDef(LiteWorkflowAppService.java:42)
      at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:123)
      ... 52 more

      Attachments

        Activity

          People

            Unassigned Unassigned
            mchiang_4work@yahoo.com Michelle Chiang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: