Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Invalid
-
trunk
-
None
-
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