Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.4.0
-
None
Description
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:
"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)
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...).