[ 
https://issues.apache.org/jira/browse/OOZIE-2533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15328668#comment-15328668
 ] 

Robert Kanter edited comment on OOZIE-2533 at 6/14/16 12:06 AM:
----------------------------------------------------------------

I've attached a workaround patch.  The Oozie Web UI itself is fine, it's just 
the JSP page loading the Web UI that's broken (because JSP is broken).  The 
patch replaces the JSP page with an HTML page, which successfully loads the Web 
UI.  However, this is only a workaround and we won't commit this because it 
hardcodes the SLA, Instrumentation, and Metrics tabs to all always be showing, 
even if those features are disabled (because we can't call Java to evaluate 
that).  Going to those tabs when they're disabled won't cause any harm, but 
they don't work correctly.  


was (Author: rkanter):
I've attached a workaround patch.  The Oozie Web UI itself is fine, it's just 
the JSP page loading the Web UI that's broken (because JSP is broken).  The 
patch replaces the JSP page with an HTML page, which successfully loads the Web 
UI.  However, this is only a workaround and we won't commit this because it 
hardcodes the SLA, Instrumentation, and Metrics tabs to all always be showing, 
even if those features are disabled (because we can't call Java to evaluate 
those).  Going to those tabs when they're disabled won't cause any harm, but 
they don't work correctly.  

> Oozie Web UI gives Error 500 with Java 8u91
> -------------------------------------------
>
>                 Key: OOZIE-2533
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2533
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: trunk
>            Reporter: Robert Kanter
>         Attachments: OOZIE-2533_workaround.patch
>
>
> When using Java 8u91, if I go to the Oozie Web UI in a browser, I get an 
> Error 500 with this:
> {noformat}
> org.apache.jasper.JasperException: Unable to compile class for JSP: 
> An error occurred at line: 1 in the generated java file
> The type java.io.ObjectInputStream cannot be resolved. It is indirectly 
> referenced from required .class files
> Stacktrace:
>       
> org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
>       
> org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
>       
> org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:460)
>       org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
>       org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
>       org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
>       
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
>       
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
>       org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>       org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
>       
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
>       
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
>       org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
>       org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
> {noformat}
> The same info with a little more detail shows up in the localhost log file:
> {noformat}
> May 16, 2016 4:26:28 PM org.apache.catalina.core.StandardWrapperValve invoke
> SEVERE: Servlet.service() for servlet jsp threw exception
> org.apache.jasper.JasperException: Unable to compile class for JSP:
> An error occurred at line: 1 in the generated java file
> The type java.io.ObjectInputStream cannot be resolved. It is indirectly 
> referenced from required .class files
> Stacktrace:
>         at 
> org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
>         at 
> org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
>         at 
> org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:460)
>         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
>         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
>         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
>         at 
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
>         at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         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:171)
>         at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
>         at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
>         at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
>         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:86)
>         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:620)
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>         at java.lang.Thread.run(Thread.java:745)
> {noformat}
> The catalina log file also has this:
> {noformat}
> May 16, 2016 4:26:28 PM org.apache.jasper.compiler.JDTCompiler$1 findType
> SEVERE: Compilation error
> org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
>         at 
> org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:372)
>         at 
> org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:210)
>         at 
> org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:167)
>         at 
> org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:109)
>         at 
> org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49)
>         at 
> org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:122)
>         at 
> org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:168)
>         at 
> org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2445)
>         at 
> org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1006)
>         at 
> org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1258)
>         at 
> org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:538)
>         at 
> org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:763)
>         at 
> org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:468)
>         at 
> org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450)
>         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
>         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
>         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
>         at 
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
>         at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         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:171)
>         at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
>         at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
>         at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
>         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:86)
>         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:620)
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>         at java.lang.Thread.run(Thread.java:745)
> {noformat}
> The REST API (and thus also the Oozie CLI, Oozie Java API, etc) still 
> function correctly because they don't use JSP.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to