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)

Reply via email to