hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Wang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-6057) DomainSocketWatcher.watcherThread should be marked as daemon thread
Date Thu, 06 Mar 2014 01:47:43 GMT

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

Andrew Wang commented on HDFS-6057:

A couple nits:

- In ShortCircuitCache, could put @VisibleForTesting and @Override annotations on {{close()}}.
- I don't see ShortCircuitCache#fromConf being called, dead code?

+1 pending Jenkins though, overall LGTM.

Let's wait to commit this until tomorrow in case someone wants to give it a spin in their
test environment. I agree with the earlier assessments that the daemon thread should be the
key fix.

> 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

View raw message