[
https://issues.apache.org/jira/browse/DRILL-5874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16210328#comment-16210328
]
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_r145495729
--- 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.
--- End diff --
We are using [web
session](https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/WebServer.java#L193)
concept for Drill's WebServer.
> 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)