[
https://issues.apache.org/jira/browse/HIVE-15387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Barna Zsombor Klara updated HIVE-15387:
---------------------------------------
Assignee: Barna Zsombor Klara
Status: Patch Available (was: Open)
> 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
> Assignee: Barna Zsombor Klara
> Priority: Minor
> Attachments: HIVE-15387.1.patch
>
>
> 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)