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

Reply via email to