You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Dennis Cheung (JIRA)" <ji...@apache.org> on 2011/04/29 05:48:03 UTC
[jira] [Created] (HDFS-1868) HDFS-client may block shutdown of JVM
HDFS-client may block shutdown of JVM
-------------------------------------
Key: HDFS-1868
URL: https://issues.apache.org/jira/browse/HDFS-1868
Project: Hadoop HDFS
Issue Type: Bug
Components: hdfs client
Affects Versions: 0.20.2
Environment: Linux 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
Reporter: Dennis Cheung
Priority: Minor
When I send a "kill -15" to shutdown my process, sometime it will freeze after the safe-shutdown process complete.
I ran jstack and found the following thread blocking.
"SIGTERM handler" daemon prio=10 tid=0x00002aaab12c4000 nid=0x6274 waiting for monitor entry [0x000000004e056000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.lang.Thread.join(Thread.java:1177)
- waiting to lock <0x000000078376e8b8> (a org.apache.hadoop.fs.FileSystem$ClientFinalizer)
at java.lang.Thread.join(Thread.java:1239)
at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:79)
at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:24)
at java.lang.Shutdown.runHooks(Shutdown.java:79)
at java.lang.Shutdown.sequence(Shutdown.java:123)
at java.lang.Shutdown.exit(Shutdown.java:168)
- locked <0x000000077e8127e8> (a java.lang.Class for java.lang.Shutdown)
at java.lang.Terminator$1.handle(Terminator.java:35)
at sun.misc.Signal$1.run(Signal.java:195)
at java.lang.Thread.run(Thread.java:662)
Beside the thread "SIGTERM handler", there are some few threads of my application are WAITING or BLOCKED with this pattern
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.writeChunk(DFSClient.java:3002)
- locked <0x00000007b24fee10> (a java.util.LinkedList)
- locked <0x00000007b2512070> (a org.apache.hadoop.hdfs.DFSClient$DFSOutputStream)
at org.apache.hadoop.fs.FSOutputSummer.writeChecksumChunk(FSOutputSummer.java:150)
at org.apache.hadoop.fs.FSOutputSummer.write1(FSOutputSummer.java:100)
at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:86)
- locked <0x00000007b2512070> (a org.apache.hadoop.hdfs.DFSClient$DFSOutputStream)
at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:49)
at java.io.DataOutputStream.write(DataOutputStream.java:90)
- locked <0x00000007b25126e0> (a org.apache.hadoop.fs.FSDataOutputStream)
However, there are no other HDFS threads (e.g. DataStreamer) running.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira