You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Kevin Risden (JIRA)" <ji...@apache.org> on 2018/09/25 14:38:00 UTC

[jira] [Commented] (KNOX-720) Sockets remain in CLOSE_WAIT using org.apache.hadoop.gateway.shell.Hadoop

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

Kevin Risden commented on KNOX-720:
-----------------------------------

Attached patch to ensure the client is closed on shutdown or shutdownNow.

> Sockets remain in CLOSE_WAIT using org.apache.hadoop.gateway.shell.Hadoop
> -------------------------------------------------------------------------
>
>                 Key: KNOX-720
>                 URL: https://issues.apache.org/jira/browse/KNOX-720
>             Project: Apache Knox
>          Issue Type: Bug
>          Components: ClientDSL
>    Affects Versions: 0.7.0
>            Reporter: Marco Battaglia
>            Assignee: Kevin Risden
>            Priority: Major
>             Fix For: 1.2.0
>
>         Attachments: KNOX-720.patch
>
>
> The class org.apache.hadoop.gateway.shell.Hadoop used to connect to knox doesn't close opened socket.
> The "shutdown" method of org...shell.Hadoop doesn't call client.close() and this produces  too much permanent CLOSE_WAIT sockest.
> Suggestion:
>     public void shutdown() throws InterruptedException {
>  -    executor.shutdown();
>  +    closeClient();
>     }
>   
>     public boolean shutdown( long timeout, TimeUnit unit ) throws InterruptedException {
> -      executor.shutdown();
>  +    closeClient();
>       return executor.awaitTermination( timeout, unit );
>     }
>  +  
>  +  private void closeClient(){
> +      executor.shutdownNow();
>  +    if(client!=null){
>  +      client.close();
>  +    }
>  +  }



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)