[ 
https://issues.apache.org/jira/browse/HIVE-8525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Peter Slawski updated HIVE-8525:
--------------------------------
    Description: 
Without the jasper-compiler-jdt*.jar in hive/lib, the HWI service cannot 
compile jsp files.

I've also noticed that this is mentioned in HIVE-5132 and HIVE-6912 in order to 
get HWI working. But, no code change or documentation were made in light of 
this.

It seems reasonable to include jasper-compiler-jdt as a dependency in 
hwi/pom.xml. Are there any reasons not to do so?

------
I had to do the following to reproduce this error:

1. Generate war file (HIVE-8400)
2. Fix bin/ext/hwi.sh script to make HWI_WAR_FILE be relative to HIVE_HOME
3. Run `hive --service hwi`
4. Go to http://localhost:9999/hwi/
5. A 500 Error appears:

{code}
HTTP ERROR 500

Problem accessing /hwi/. Reason:

    Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/java/jdk1.7.0_65/jre"

Caused by:

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/java/jdk1.7.0_65/jre"
        at 
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:129)
        at 
org.apache.tools.ant.taskdefs.Javac.findSupportedFileExtensions(Javac.java:979)
        at org.apache.tools.ant.taskdefs.Javac.scanDir(Javac.java:956)
        at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:927)
        at 
org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java:220)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
        at 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
        at 
org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:503)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at 
org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

{code}

  was:
Without the jasper-compiler-jdt*.jar in hive/lib, the HWI service cannot 
compile jsp files.

I've also noticed that this is mentioned in HIVE-5132 and HIVE-6912 in order to 
get HWI working. But, no code change or documentation were made in light of 
this.

It seems reasonable to include jasper-compiler-jdt as a dependency in 
hwi/pom.xml. Are there any reasons not to do so?

------
I had to do the following to reproduce this error:

1. Generate war file (HIVE-8400)
2. Fix bin/ext/hwi.sh script to correct the paths of HWI_JAR_FILE and 
HWI_WAR_FILE.
3. Run `hive --service hwi`
4. Go to http://localhost:9999/hwi/
5. A 500 Error appears:

{code}
HTTP ERROR 500

Problem accessing /hwi/. Reason:

    Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/java/jdk1.7.0_65/jre"

Caused by:

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/java/jdk1.7.0_65/jre"
        at 
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:129)
        at 
org.apache.tools.ant.taskdefs.Javac.findSupportedFileExtensions(Javac.java:979)
        at org.apache.tools.ant.taskdefs.Javac.scanDir(Javac.java:956)
        at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:927)
        at 
org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java:220)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
        at 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
        at 
org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:503)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at 
org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

{code}


> Missing runtime dependency for HWI: japser-compiler-jdt
> -------------------------------------------------------
>
>                 Key: HIVE-8525
>                 URL: https://issues.apache.org/jira/browse/HIVE-8525
>             Project: Hive
>          Issue Type: Bug
>          Components: Web UI
>    Affects Versions: 0.13.1
>            Reporter: Peter Slawski
>
> Without the jasper-compiler-jdt*.jar in hive/lib, the HWI service cannot 
> compile jsp files.
> I've also noticed that this is mentioned in HIVE-5132 and HIVE-6912 in order 
> to get HWI working. But, no code change or documentation were made in light 
> of this.
> It seems reasonable to include jasper-compiler-jdt as a dependency in 
> hwi/pom.xml. Are there any reasons not to do so?
> ------
> I had to do the following to reproduce this error:
> 1. Generate war file (HIVE-8400)
> 2. Fix bin/ext/hwi.sh script to make HWI_WAR_FILE be relative to HIVE_HOME
> 3. Run `hive --service hwi`
> 4. Go to http://localhost:9999/hwi/
> 5. A 500 Error appears:
> {code}
> HTTP ERROR 500
> Problem accessing /hwi/. Reason:
>     Unable to find a javac compiler;
> com.sun.tools.javac.Main is not on the classpath.
> Perhaps JAVA_HOME does not point to the JDK.
> It is currently set to "/usr/java/jdk1.7.0_65/jre"
> Caused by:
> Unable to find a javac compiler;
> com.sun.tools.javac.Main is not on the classpath.
> Perhaps JAVA_HOME does not point to the JDK.
> It is currently set to "/usr/java/jdk1.7.0_65/jre"
>       at 
> org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:129)
>       at 
> org.apache.tools.ant.taskdefs.Javac.findSupportedFileExtensions(Javac.java:979)
>       at org.apache.tools.ant.taskdefs.Javac.scanDir(Javac.java:956)
>       at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:927)
>       at 
> org.apache.jasper.compiler.AntCompiler.generateClass(AntCompiler.java:220)
>       at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
>       at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
>       at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
>       at 
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
>       at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
>       at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>       at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
>       at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>       at 
> org.mortbay.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:503)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at 
> org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:326)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>       at 
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
>       at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> {code}



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

Reply via email to