[
https://issues.apache.org/jira/browse/OOZIE-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shwetha G S updated OOZIE-1919:
-------------------------------
Description:
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:-
{noformat}
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)
{noformat}
was:
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)
> 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
> Labels: test
>
> 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:-
> {noformat}
> 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)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)