You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2014/05/21 03:51:39 UTC
[jira] [Updated] (OOZIE-1834) sla should-start is supposed to be
optional but it is not
[ https://issues.apache.org/jira/browse/OOZIE-1834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Kanter updated OOZIE-1834:
---------------------------------
Attachment: OOZIE-1834.patch
It looks like the cause of this was that the 0.1 SLA schema had "should-start" as a required field but 0.2 schema doesn't. For 0.1, "should-start" is also forced by the schema xsd file, so we can simply make it not required by the java code.
> sla should-start is supposed to be optional but it is not
> ---------------------------------------------------------
>
> Key: OOZIE-1834
> URL: https://issues.apache.org/jira/browse/OOZIE-1834
> Project: Oozie
> Issue Type: Bug
> Components: core
> Affects Versions: 4.0.0
> Reporter: Robert Kanter
> Assignee: Robert Kanter
> Attachments: OOZIE-1834.patch
>
>
> Both the documentation and specification say that the "should-start" SLA field is optional, however, if you don't include it, you get an Exception and the job/action fails.
> On a workflow, it fails at submission time with this Exception in the log:
> {noformat}
> 2014-05-12 16:00:22,804 ERROR org.apache.oozie.command.wf.SubmitXCommand: SERVER[rkanter-5.ent.cloudera.com] USER[admin] GROUP[-] TOKEN[] APP[MapReduce-SLA] JOB[0000001-140505141334644-oozie-oozi-W] ACTION[-]
> XException,
> org.apache.oozie.command.CommandException: E0803: IO error, E1007: Unable to add record for SLA. [workflow 0000001-140505141334644-oozie-oozi-W], should-start can't be empty
> at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:279)
> at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:76)
> at org.apache.oozie.command.XCommand.call(XCommand.java:280)
> at org.apache.oozie.DagEngine.submitJob(DagEngine.java:109)
> at org.apache.oozie.servlet.V1JobsServlet.submitWorkflowJob(V1JobsServlet.java:188)
> at org.apache.oozie.servlet.V1JobsServlet.submitJob(V1JobsServlet.java:88)
> at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:287)
> 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:126)
> at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:384)
> at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:131)
> 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:84)
> 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:606)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.apache.oozie.command.CommandException: E1007: Unable to add record for SLA. [workflow 0000001-140505141334644-oozie-oozi-W], should-start can't be empty
> at org.apache.oozie.command.wf.SubmitXCommand.writeSLARegistration(SubmitXCommand.java:343)
> at org.apache.oozie.command.wf.SubmitXCommand.execute(SubmitXCommand.java:222)
> ... 29 more
> Caused by: java.lang.RuntimeException: should-start can't be empty
> at org.apache.oozie.util.db.SLADbOperations.createSlaRegistrationEvent(SLADbOperations.java:124)
> at org.apache.oozie.command.wf.SubmitXCommand.writeSLARegistration(SubmitXCommand.java:319)
> ... 30 more
> {noformat}
> For a coordinator, you get a similar Exception when trying to materialize the action:
> {noformat}
> 2014-05-12 13:24:50,603 ERROR CoordMaterializeTransitionXCommand:536 - SERVER[p0106.mtv.cloudera.com] USER[wypoon] GROUP[-] TOKEN[] APP[aggregator-coord] JOB[0000032-140511190910971-oozie-oozi-C] ACTION[-] Exception occurred:should-start can't be empty Making the job failed
> java.lang.RuntimeException: should-start can't be empty
> at org.apache.oozie.util.db.SLADbOperations.createSlaRegistrationEvent(SLADbOperations.java:124)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.writeActionSlaRegistration(CoordMaterializeTransitionXCommand.java:435)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.storeToDB(CoordMaterializeTransitionXCommand.java:425)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.materializeActions(CoordMaterializeTransitionXCommand.java:391)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.materialize(CoordMaterializeTransitionXCommand.java:267)
> at org.apache.oozie.command.MaterializeTransitionXCommand.execute(MaterializeTransitionXCommand.java:72)
> at org.apache.oozie.command.MaterializeTransitionXCommand.execute(MaterializeTransitionXCommand.java:28)
> at org.apache.oozie.command.XCommand.call(XCommand.java:280)
> at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:174)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> 2014-05-12 13:24:50,621 ERROR CoordMaterializeTransitionXCommand:536 - SERVER[p0106.mtv.cloudera.com] USER[wypoon] GROUP[-] TOKEN[] APP[aggregator-coord] JOB[0000032-140511190910971-oozie-oozi-C] ACTION[-] XException,
> org.apache.oozie.command.CommandException: E1012: Coord Job Materialization Error: should-start can't be empty
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.materialize(CoordMaterializeTransitionXCommand.java:286)
> at org.apache.oozie.command.MaterializeTransitionXCommand.execute(MaterializeTransitionXCommand.java:72)
> at org.apache.oozie.command.MaterializeTransitionXCommand.execute(MaterializeTransitionXCommand.java:28)
> at org.apache.oozie.command.XCommand.call(XCommand.java:280)
> at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:174)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: java.lang.RuntimeException: should-start can't be empty
> at org.apache.oozie.util.db.SLADbOperations.createSlaRegistrationEvent(SLADbOperations.java:124)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.writeActionSlaRegistration(CoordMaterializeTransitionXCommand.java:435)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.storeToDB(CoordMaterializeTransitionXCommand.java:425)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.materializeActions(CoordMaterializeTransitionXCommand.java:391)
> at org.apache.oozie.command.coord.CoordMaterializeTransitionXCommand.materialize(CoordMaterializeTransitionXCommand.java:267)
> ... 7 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)