Github user adeneche commented on a diff in the pull request: https://github.com/apache/drill/pull/442#discussion_r58290979 --- Diff: exec/rpc/src/main/java/org/apache/drill/exec/rpc/RpcBus.java --- @@ -159,19 +159,15 @@ public ChannelClosedHandler(C clientConnection, Channel channel) { @Override public void operationComplete(ChannelFuture future) throws Exception { String msg; - if(local!=null) { + if(local != null) { msg = String.format("Channel closed %s <--> %s.", local, remote); }else{ msg = String.format("Channel closed %s <--> %s.", future.channel().localAddress(), future.channel().remoteAddress()); } - if (RpcBus.this.isClient()) { - if(local != null) { - logger.info(String.format(msg)); - } - } else { - queue.channelClosed(new ChannelClosedException(msg)); - } + logger.info(msg); // should we leave this at info level ? + + queue.channelClosed(new ChannelClosedException(msg)); --- End diff -- @sudheeshkatkam this is also true for the user tunnel. We have a single UserServer on each drillbit that has connections with multiple clients, if one connection is closed, the queue will fail all batches waiting for outcome. See [DRILL-3763](https://issues.apache.org/jira/browse/DRILL-3763) @jacques-n let me wrap my head around your suggestion. In the meantime, I may have a simple fix that would resolve the issue in the short-term: we just need to pass the closed channel to the coordination queue and only fail the listeners related to the closed channel.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---