hadoop-hdfs-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] (HDFS-6057) DomainSocketWatcher.watcherThread should be marked as daemon thread
Date Thu, 06 Mar 2014 00:40:48 GMT

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

Colin Patrick McCabe commented on HDFS-6057:
--------------------------------------------

* setDaemon on the DomainSocketWatcher thread.
* Calling {{DomainSocketWatcher#add}} after the DSW is closed no longer results in an exception;
instead, we run the close callback immediately and close the socket.
* add a unit test to ensure that {{ShortCircuitCache#close}} closes the {{DomainSocketWatcher}}.

> DomainSocketWatcher.watcherThread should be marked as daemon thread
> -------------------------------------------------------------------
>
>                 Key: HDFS-6057
>                 URL: https://issues.apache.org/jira/browse/HDFS-6057
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs-client
>    Affects Versions: 2.4.0
>            Reporter: Eric Sirianni
>            Assignee: Colin Patrick McCabe
>            Priority: Blocker
>         Attachments: HDFS-6057.002.patch, hdfs-6057-v1.txt
>
>
> Running the tip of {{branch-2.4}}, I'm observing some zombie processes in my environment.
 jstack shows the following thread preventing the JVM from shutting down:
> {noformat}
> "Thread-3" prio=10 tid=0x00007f0a908a5800 nid=0x3ee9 runnable [0x00007f0a89471000]
>    java.lang.Thread.State: RUNNABLE
> 	at org.apache.hadoop.net.unix.DomainSocketWatcher.doPoll0(Native Method)
> 	at org.apache.hadoop.net.unix.DomainSocketWatcher.access$800(DomainSocketWatcher.java:52)
> 	at org.apache.hadoop.net.unix.DomainSocketWatcher$1.run(DomainSocketWatcher.java:455)
> 	at java.lang.Thread.run(Thread.java:679)
> {noformat}
> Marking the {{DomainSocketWatcher.watcherThread}} as a daemon thread would prevent this
situation.  Is there any reason it isn't classified as such?
> Also, tracing through the code, I don't see any code path where {{DomainSocketWatcher.close()}}
is invoked (though this would seem to be a larger issue -- maybe I'm missing something...).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message