You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Niraja Mishra (JIRA)" <ji...@apache.org> on 2014/07/07 17:12:33 UTC

[jira] [Created] (OOZIE-1919) In org.apache.oozie.util.XConfiguration : MAX_SUBST = 20

Niraja Mishra created OOZIE-1919:
------------------------------------

             Summary: In org.apache.oozie.util.XConfiguration :    MAX_SUBST = 20
                 Key: OOZIE-1919
                 URL: https://issues.apache.org/jira/browse/OOZIE-1919
             Project: Oozie
          Issue Type: Bug
          Components: core
    Affects Versions: 3.3.2
            Reporter: Niraja Mishra


Oozie has a restriction on substituting constants upto a depth 20, it would be nicer if we have this value configurable instead of hard coding. My test case as follows:-

oozie.libpath=${LIBPATH1}/${LIBPATH2},${LIBPATH3}/${LIBPATH4},${LIBPATH5}/${LIBPATH6},${LIBPATH7}/${LIBPATH8},${LIBPATH9}/${LIBPATH10},${LIBPATH11}/${LIBPATH12},${LIBPATH13}/${LIBPATH14},${LIBPATH15}/${LIBPATH16},${PIG_LIBPATH},${HBASE_LIBPATH},${SQOOP_LIBPATH},${LIB}/{LIB1}

throws me an error like :-

 Error: HTTP error code: 500 : Internal Server Error

in Oozie log error :

java.lang.IllegalStateException: Variable substitution depth too large: 20 ${LIBPATH1}/${LIBPATH2},${LIBPATH3}/${LIBPATH4},${LIBPATH5}/${LIBPATH6},${LIBPATH7}/${LIBPATH8},${LIBPATH9}/${LIBPATH10},${LIBPATH11}/${LIBPATH12},${LIBPATH13}/${LIBPATH14},${LIBPATH15}/${LIBPATH16},${PIG_LIBPATH},${HBASE_LIBPATH},${SQOOP_LIBPATH},${LIB}/{LIB1}
	at org.apache.oozie.util.XConfiguration.substituteVars(XConfiguration.java:172)
	at org.apache.oozie.util.XConfiguration.get(XConfiguration.java:120)
	at org.apache.oozie.util.XConfiguration.resolve(XConfiguration.java:231)
	at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:90)
	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 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:102)
	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: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:744)




--
This message was sent by Atlassian JIRA
(v6.2#6252)