hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-9703) org.apache.hadoop.ipc.Client leaks threads on stop.
Date Wed, 10 Jul 2013 18:01:54 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-9703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13704840#comment-13704840

Colin Patrick McCabe commented on HADOOP-9703:

Thanks for tackling this JIRA.  The logic looks OK.

I think it would be better to create a static object which handles all of this for you.

For example you could have 
private static final ClientExecutorServiceFactory = 
    new ClientExecutorServiceFactory();

private static class ClientExecutorServiceFactory {
    synchronized ExecutorService ref() { ... }
    synchronized ExecutorService unref() { ... }

ref manages incrementing the reference count and unref manages decrementing it.

This avoids the findbugs warning, and avoids having to document what locks have to be taken
where (because ClientExecutorServiceFactory handles that for you)
> org.apache.hadoop.ipc.Client leaks threads on stop.
> ---------------------------------------------------
>                 Key: HADOOP-9703
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9703
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Mark Miller
>            Assignee: Tsuyoshi OZAWA
>            Priority: Minor
>         Attachments: HADOOP-9703.1.patch
> org.apache.hadoop.ipc.Client#stop says "Stop all threads related to this client." but
does not shutdown the static SEND_PARAMS_EXECUTOR, so usage of this class always leaks threads
rather than cleanly closing or shutting down.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message