drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5874) NPE in AnonWebUserConnection.cleanupSession()
Date Wed, 18 Oct 2017 23:48:01 GMT

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

ASF GitHub Bot commented on DRILL-5874:
---------------------------------------

Github user sohami commented on a diff in the pull request:

    https://github.com/apache/drill/pull/993#discussion_r145565944
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRestServer.java
---
    @@ -204,9 +217,15 @@ public WebUserConnection provide() {
                     config.getLong(ExecConstants.HTTP_SESSION_MEMORY_RESERVATION),
                     config.getLong(ExecConstants.HTTP_SESSION_MEMORY_MAXIMUM));
     
    +        // Create a dummy close future which is needed by Foreman only. Foreman uses
this future to add a close
    +        // listener to known about channel close event from underlying layer. We use
this future to notify Foreman
    +        // listeners when the Web connection between Web Client and WebServer is closed.
This will help Foreman to cancel
    +        // all the running queries for this Web Client.
    +        final ChannelPromise closeFuture = new DefaultChannelPromise(null, executor);
    +
             // Create a WebSessionResource instance which owns the lifecycle of all the session
resources.
    -        // Set this instance as an attribute of HttpSession, since it will be used until
session is destroyed.
    -        webSessionResources = new WebSessionResources(sessionAllocator, remoteAddress,
drillUserSession);
    +        // Set this instance as an attribute of HttpSession, since it will be used until
session is destroyed
    +        webSessionResources = new WebSessionResources(sessionAllocator, remoteAddress,
drillUserSession, closeFuture);
    --- End diff --
    
    Will fix the comment. Sorry for confusion.


> NPE in AnonWebUserConnection.cleanupSession()
> ---------------------------------------------
>
>                 Key: DRILL-5874
>                 URL: https://issues.apache.org/jira/browse/DRILL-5874
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.12.0
>            Reporter: Paul Rogers
>            Assignee: Sorabh Hamirwasia
>             Fix For: 1.12.0
>
>
> When debugging another issue, I tried to use the Web UI to run the example query:
> {code}
> SELECT * FROM cp.`employee.json` LIMIT 20
> {code}
> The query failed with this error:
> {noformat}
> Query Failed: An Error Occurred
> java.lang.NullPointerException
> {noformat}
> No stack trace was provided in the log, even at DEBUG level.
> Debugging, the problem appears to be deep inside {{AnonWebUserConnection.cleanupSession()}}:
> {code}
> package io.netty.channel;
> public class DefaultChannelPromise ...
>     protected EventExecutor executor() {
>         EventExecutor e = super.executor();
>         if (e == null) {
>             return channel().eventLoop();
>         } else {
>             return e;
>         }
>     }
> {code}
> In the above, {{channel()}} is null. the {{channel}} field is also null.
> This may indicate that some part of the Web UI was not set up correctly. This is a recent
change, as this code worked several days ago.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message