diff options
author | Aditya Kishore <aditya@maprtech.com> | 2014-07-24 20:07:21 -0700 |
---|---|---|
committer | Jacques Nadeau <jacques@apache.org> | 2014-07-25 14:34:12 -0700 |
commit | 2a4d6f1911d86f6a58a175cd1278c06a2d7cade9 (patch) | |
tree | 96a1c15e8ecc3ff628e57eaedb5357d4b80c4b87 /exec/java-exec/src/main | |
parent | dab9629ae58c7e5e0cf56d76477e0afdb1c2f371 (diff) |
DRILL-785: org.apache.drill.exec.rpc.bit.ListenerPool leak suspects
Diffstat (limited to 'exec/java-exec/src/main')
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/WorkEventBus.java | 6 | ||||
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/WorkEventBus.java b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/WorkEventBus.java index bc10d4b94..28050eb60 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/WorkEventBus.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/WorkEventBus.java @@ -49,9 +49,9 @@ public class WorkEventBus { this.bee = bee; } - public void removeFragmentStatusListener(FragmentHandle handle) throws RpcException { - logger.debug("Removing framgent status listener for handle {}.", handle); - listeners.remove(handle); + public void removeFragmentStatusListener(QueryId queryId) { + logger.debug("Removing framgent status listener for queryId {}.", queryId); + listeners.remove(queryId); } public void setFragmentStatusListener(QueryId queryId, FragmentStatusListener listener) throws RpcException { diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java index f0c1edee3..ed1a42816 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java @@ -174,6 +174,7 @@ public class QueryManager implements FragmentStatusListener{ .setQueryId(queryId) // .build(); foremanManagerListener.cleanupAndSendResult(result); + workBus.removeFragmentStatusListener(queryId); } this.status.setEndTime(System.currentTimeMillis()); this.status.incrementFinishedFragments(); @@ -190,6 +191,7 @@ public class QueryManager implements FragmentStatusListener{ private void stopQuery(){ + workBus.removeFragmentStatusListener(queryId); // Stop all queries with a currently active status. // for(FragmentData data: map.values()){ // FragmentHandle handle = data.getStatus().getHandle(); |