You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "michelle chiang (JIRA)" <ji...@apache.org> on 2013/01/30 23:05:15 UTC
[jira] [Commented] (OOZIE-1195) Invalid transition -- nodes of type
end are not allowed within Fork/Join
[ https://issues.apache.org/jira/browse/OOZIE-1195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13566956#comment-13566956 ]
michelle chiang commented on OOZIE-1195:
----------------------------------------
since "emailfailure" node is the error-to transition within the fork path, the "emailfailure" node can only transition to the kill node.
change the workflow, and it is ok to submit.
<action name="emailfailure">
<!-- skip -->
<ok to="fail" />
<error to="fail" />
</action>
> Invalid transition -- nodes of type end are not allowed within Fork/Join
> ------------------------------------------------------------------------
>
> Key: OOZIE-1195
> URL: https://issues.apache.org/jira/browse/OOZIE-1195
> Project: Oozie
> Issue Type: Bug
> Components: workflow
> Affects Versions: trunk
> Reporter: michelle chiang
> Priority: Minor
>
> 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
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira