You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Jerry Chabot (JIRA)" <ji...@apache.org> on 2019/03/28 20:43:00 UTC

[jira] [Created] (OOZIE-3457) App path is null in error message when submit an Oozie coordinator job

Jerry Chabot created OOZIE-3457:
-----------------------------------

             Summary: App path is null in error message when submit an Oozie coordinator job
                 Key: OOZIE-3457
                 URL: https://issues.apache.org/jira/browse/OOZIE-3457
             Project: Oozie
          Issue Type: Bug
    Affects Versions: 5.1.0
            Reporter: Jerry Chabot


We can no longer submit a coordinator job after upgrading from 5.0.0 to 5.1.0. While we investigate this (there is an email in the oozie user mailing list), I've been looking at the oozie code trying to determine why the error message has "null" in it.

Error: E0307 : E0307: Runtime error [App directory [null] does not exist and app definition cannot be created because of missing config value [oozie.jobs.api.generated.xml]]

We are submitting a coordinator job so it specifies oozie.coord.application.path.

Here is a sample submission:

 sudo -u oozie oozie job -oozie [http://hbase.qa.local:11000/oozie/] -config /var/lib/cmx/jobs/workspaceDimToVertica/coordinator.properties -run -D nameNode=hdfs://hbase.qa.local:8020 -D jobTracker=hbase.qa.local:8032 -D frequency=240 -D startTime=2018-03-28T00:00Z -D endTime=2020-01-01:00Z -debug

Auth type : null

POST [http://hbase.qa.local:11000/oozie/v2/jobs?action=start]

<?xml version="1.0" encoding="UTF-8" standalone="no"?><configuration>

<property><name>nameNode</name><value>hdfs://hbase.qa.local:8020</value></property>

<property><name>oozie.use.system.libpath</name><value>true</value></property>

<property><name>startTime</name><value>2018-03-28T00:00Z</value></property>

<property><name>queueName</name><value>oozie</value></property>

<property><name>jobTracker</name><value>hbase.qa.local:8032</value></property>

<property><name>oozie.libpath</name><value>hdfs://hbase.qa.local:8020/user/oozie/cmx</value></property>

<property><name>endTime</name><value>2020-01-01:00Z</value></property>

<property><name>applicationConfigFile</name><value>hdfs://hbase.qa.local:8020/usr/share/cmx/conf/app.properties,hdfs://hbase.qa.local:8020/usr/share/cmx/conf/crypto.properties</value></property>

<property><name>frequency</name><value>240</value></property>

<property><name>user.name</name><value>oozie</value></property>

<property><name>oozie.coord.application.path</name><value>hdfs://hbase.qa.local:8020/user/oozie/reporting/workspaceDimToVertica/</value></property>

</configuration>

V1JobsServlet.java:175 creates an error message using the appPath from oozie.wf.application.path. But, as you will see the method also checks other appPath. Building the error message should consider these other appPaths as it would help troubleshoot errors such as these.

Here is the server-side the stack trace.

2019-03-28 20:00:56,101 WARN V1JobsServlet:523 - SERVER[ip-172-23-113-207.ec2.internal] USER[-] GROUP[-] TOKEN[-] APP[-] JOB[-] ACTION[-] URL[POST http://hbase.qa.local:11000/oozie/v2/jobs] error[E0307], E0307: Runtime error [App directory [null] does not exist and app definition cannot be created because of missing config value [oozie.jobs.api.generated.xml]]
org.apache.oozie.servlet.XServletException: E0307: Runtime error [App directory [null] does not exist and app definition cannot be created because of missing config value [oozie.jobs.api.generated.xml]]
 at org.apache.oozie.servlet.V1JobsServlet.checkAndWriteApplicationXMLToHDFS(V1JobsServlet.java:175)
 at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:111)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
 at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:305)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
 at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
 at org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
 at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:644)
 at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:592)
 at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
 at org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
 at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
 at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
 at org.eclipse.jetty.server.Server.handle(Server.java:534)
 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
 at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
 at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
 at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
 at java.lang.Thread.run(Thread.java:748)

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)