You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Barna Zsombor Klara (JIRA)" <ji...@apache.org> on 2016/12/08 09:59:58 UTC

[jira] [Created] (HIVE-15387) NPE in HiveServer2 webUI Historical SQL Operations section

Barna Zsombor Klara created HIVE-15387:
------------------------------------------

             Summary: NPE in HiveServer2 webUI Historical SQL Operations section
                 Key: HIVE-15387
                 URL: https://issues.apache.org/jira/browse/HIVE-15387
             Project: Hive
          Issue Type: Bug
            Reporter: Barna Zsombor Klara
            Priority: Minor


The runtime value on a SQLOperationDisplay may be null, which may lead to NPEs on the web UI.

Stack trace:
{code}
java.lang.NullPointerException
	at org.apache.hive.generated.hiveserver2.hiveserver2_jsp._jspService(hiveserver2_jsp.java:145)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
	at org.eclipse.jetty.server.Server.handle(Server.java:349)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:910)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
	at java.lang.Thread.run(Thread.java:745)
{code}

Compiled jsp segment:
{code}
 124        out.print( conf.get(ConfVars.HIVE_SERVER2_WEBUI_MAX_HISTORIC_QUERIES.varname) );
   125        out.write(" Closed Queries</h2>\n<table id=\"attributes_table\" class=\"table table-striped\">\n    <tr>\n        <th>User Name</th>\n        <th>Query</th>\n        <th>Execution Engine</th>\n        <th>State</th>\n        <th>Opened (s)</th>\n        <th>Closed Timestamp</th>\n        <th>Latency (s)</th>\n        <th>Drilldown Link</th>\n    </tr>\n    ");
   126  
   127        queries = 0;
   128        operations = sessionManager.getOperationManager().getHistoricalSQLOperations();
   129        for (SQLOperationDisplay operation : operations) {
   130            queries++;
   131      
   132        out.write("\n    <tr>\n        <td>");
   133        out.print( operation.getUserName() );
   134        out.write("</td>\n        <td>");
   135        out.print( operation.getQueryDisplay() == null ? "Unknown" : operation.getQueryDisplay().getQueryString() );
   136        out.write("</td>\n        <td>");
   137        out.print( operation.getExecutionEngine() );
   138        out.write("\n        <td>");
   139        out.print( operation.getState() );
   140        out.write("</td>\n        <td>");
   141        out.print( operation.getElapsedTime()/1000 );
   142        out.write("</td>\n        <td>");
   143        out.print( operation.getEndTime() == null ? "In Progress" : new Date(operation.getEndTime()) );
   144        out.write("</td>\n        <td>");
   145        out.print( operation.getRuntime()/1000 );
   146        out.write("</td>\n        ");
{code}

Still trying to find a way to easily reproduce the issue.



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