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

Barna Zsombor Klara commented on HIVE-15387:
--------------------------------------------

New test failures are coming from qtests, should not be caused by a change only 
to the HS2 jsp page.

> 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)

Reply via email to