ChecksumException generates thousands of open sockets
-----------------------------------------------------

                 Key: HBASE-2042
                 URL: https://issues.apache.org/jira/browse/HBASE-2042
             Project: Hadoop HBase
          Issue Type: Bug
            Reporter: stack
            Priority: Blocker
             Fix For: 0.20.3, 0.21.0


Below is from Stefan Will:

{code}
I just ran into another case where a Regionserver wouldn't properly shut down 
(this is on my development cluster, so not too critical). In this case, it is 
also holding over 27000 datanode sockets (port 50010) in CLOSE_WAIT state. I 
was actually using so many that the SSH daemon wouldn't let me log in to the 
machine due to too many open file handles (I can probably figure out how to 
increase that limit). So I shut down the Master and the other regionservers, 
which might have been the cause for it to be in "handleConnectionFailure()". 
The last few lines of the log were:

009-12-06 10:30:12,609 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: 
aborting server at: 10.1.20.144:60020 <http://10.1.20.144:60020>
- Hide quoted text -
2009-12-06 10:30:12,646 INFO org.apache.hadoop.hbase.regionserver.LogFlusher: 
regionserver/10.1.20.144:60020.logFlusher exiting
2009-12-06 10:30:12,646 INFO 
org.apache.hadoop.hbase.regionserver.HRegionServer$MajorCompactionChecker: 
regionserver/10.1.20.144:60020.majorCompactionChecker exiting
2009-12-06 10:30:14,871 INFO org.apache.hadoop.hbase.Leases: 
regionserver/10.1.20.144:60020.leaseChecker closing leases
2009-12-06 10:30:14,871 INFO org.apache.hadoop.hbase.Leases: 
regionserver/10.1.20.144:60020.leaseChecker closed leases
2009-12-06 10:30:17,366 INFO 
org.apache.hadoop.hbase.regionserver.HRegionServer: worker thread exiting
2009-12-06 10:30:17,366 INFO org.apache.zookeeper.ZooKeeper: Closing session: 
0x2255b24f9f1003a
2009-12-06 10:30:17,366 INFO org.apache.zookeeper.ClientCnxn: Closing 
ClientCnxn for session: 0x2255b24f9f1003a
2009-12-06 10:30:17,387 INFO org.apache.zookeeper.ClientCnxn: Exception while 
closing send thread for session 0x2255b24f9f1003a : Read error rc = -1 
java.nio.DirectByteBuffer[
pos=0 lim=4 cap=4]
2009-12-06 10:30:17,489 INFO org.apache.zookeeper.ClientCnxn: Disconnecting 
ClientCnxn for session: 0x2255b24f9f1003a
2009-12-06 10:30:17,489 INFO org.apache.zookeeper.ZooKeeper: Session: 
0x2255b24f9f1003a closed
2009-12-06 10:30:17,548 INFO org.apache.zookeeper.ClientCnxn: EventThread shut 
down
2009-12-06 20:35:25,725 INFO 
org.apache.hadoop.hbase.regionserver.HRegionServer: Starting shutdown thread.

And here is the stacktrace taken after I was able to log back into the machine 
and send a kill to the process (at the last timestamp). It is now 15 minutes 
later, and the process is still running with no further log output.

Between midnight and 10:30, there are also over 6700 checksum errors in the 
log, always with the same log file name:

org.apache.hadoop.fs.ChecksumException: Checksum error: 
/blk_4234778497757442733:of:/hbase/post/1926133619/oldlogfile.log at 62521344
        at 
org.apache.hadoop.fs.FSInputChecker.verifySum(FSInputChecker.java:277)
        at 
org.apache.hadoop.fs.FSInputChecker.readChecksumChunk(FSInputChecker.java:241)

Here is the stack dump:

Exception in thread "LeaseChecker" java.lang.NullPointerException
    at 
org.apache.hadoop.ipc.Client$Connection.handleConnectionFailure(Client.java:351)
    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:313)
    at org.apache.hadoop.ipc.Client$Connection.access$1700(Client.java:176)
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:859)
    at org.apache.hadoop.ipc.Client.call(Client.java:719)
    at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:220)
    at $Proxy1.renewLease(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
    at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
    at $Proxy1.renewLease(Unknown Source)
    at org.apache.hadoop.hdfs.DFSClient$LeaseChecker.renew(DFSClient.java:1046)
    at org.apache.hadoop.hdfs.DFSClient$LeaseChecker.run(DFSClient.java:1058)
    at java.lang.Thread.run(Thread.java:619)
2009-12-06 20:43:32
Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.0-b16 mixed mode):

"Thread-28" prio=10 tid=0x00000000539e5800 nid=0x742e in Object.wait() 
[0x0000000040a45000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002aaab7803738> (a java.lang.Thread)
    at java.lang.Thread.join(Thread.java:1143)
    - locked <0x00002aaab7803738> (a java.lang.Thread)
    at org.apache.hadoop.hbase.util.Threads.shutdown(Threads.java:77)
    at org.apache.hadoop.hbase.util.Threads.shutdown(Threads.java:66)
    at 
org.apache.hadoop.hbase.regionserver.HRegionServer$ShutdownThread.run(HRegionServer.java:992)

"SIGTERM handler" daemon prio=10 tid=0x0000000053ca6000 nid=0x742d in 
Object.wait() [0x0000000043b02000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002aaab7941978> (a 
org.apache.hadoop.hbase.regionserver.HRegionServer$ShutdownThread)
    at java.lang.Thread.join(Thread.java:1143)
    - locked <0x00002aaab7941978> (a 
org.apache.hadoop.hbase.regionserver.HRegionServer$ShutdownThread)
    at java.lang.Thread.join(Thread.java:1196)
    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 <0x00002aaaed6f2ef0> (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:619)

"Thread-23" prio=10 tid=0x00002aab08019800 nid=0x2036 
sleeping[0x00000000413de000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleep(Native Method)
    at org.apache.hadoop.ipc.Client.stop(Client.java:679)
    at org.apache.hadoop.ipc.RPC$ClientCache.stopClient(RPC.java:192)
    at org.apache.hadoop.ipc.RPC$ClientCache.access$400(RPC.java:141)
    at org.apache.hadoop.ipc.RPC$Invoker.close(RPC.java:234)
    - locked <0x00002aaab7955f10> (a org.apache.hadoop.ipc.RPC$Invoker)
    at org.apache.hadoop.ipc.RPC$Invoker.access$500(RPC.java:199)
    at org.apache.hadoop.ipc.RPC.stopProxy(RPC.java:393)
    at org.apache.hadoop.hdfs.DFSClient.close(DFSClient.java:241)
    - locked <0x00002aaab78e5078> (a org.apache.hadoop.hdfs.DFSClient)
    at 
org.apache.hadoop.hdfs.DistributedFileSystem.close(DistributedFileSystem.java:269)
    at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:1419)
    - locked <0x00002aaab79563f0> (a org.apache.hadoop.fs.FileSystem$Cache)
    at org.apache.hadoop.fs.FileSystem.closeAll(FileSystem.java:212)
    at org.apache.hadoop.fs.FileSystem$ClientFinalizer.run(FileSystem.java:197)
    - locked <0x00002aaab78037e0> (a 
org.apache.hadoop.fs.FileSystem$ClientFinalizer)

"LruBlockCache.EvictionThread" daemon prio=10 tid=0x0000000053920800 nid=0x31a4 
in Object.wait() [0x0000000043900000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002aaab7a56160> (a 
org.apache.hadoop.hbase.io.hfile.LruBlockCache$EvictionThread)
    at java.lang.Object.wait(Object.java:485)
    at 
org.apache.hadoop.hbase.io.hfile.LruBlockCache$EvictionThread.run(LruBlockCache.java:512)
    - locked <0x00002aaab7a56160> (a 
org.apache.hadoop.hbase.io.hfile.LruBlockCache$EvictionThread)

"DestroyJavaVM" prio=10 tid=0x00002aaaf800f000 nid=0x2f53 waiting on condition 
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"regionserver/10.1.20.144:60020 <http://10.1.20.144:60020> " prio=10 
tid=0x00002aaaf800e000 nid=0x2f6c waiting for monitor entry [0x00000000415e2000]
- Hide quoted text -

   java.lang.Thread.State: BLOCKED (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002aaab78037e0> (a 
org.apache.hadoop.fs.FileSystem$ClientFinalizer)
    at java.lang.Thread.join(Thread.java:1151)
    - locked <0x00002aaab78037e0> (a 
org.apache.hadoop.fs.FileSystem$ClientFinalizer)
    at org.apache.hadoop.hbase.util.Threads.shutdown(Threads.java:77)
    at 
org.apache.hadoop.hbase.regionserver.HRegionServer.runThread(HRegionServer.java:722)
    at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:677)
    at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=10 tid=0x00000000536b5000 nid=0x2f66 runnable 
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=10 tid=0x00000000536b2800 nid=0x2f65 waiting on 
condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x00000000536ae000 nid=0x2f64 waiting on 
condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00000000536ac000 nid=0x2f63 runnable 
[0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (CMS)" daemon prio=10 tid=0x00000000536aa000 
nid=0x2f62 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x0000000053687800 nid=0x2f61 in Object.wait() 
[0x00000000421e9000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002aaab77f0108> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x00002aaab77f0108> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x0000000053685800 nid=0x2f60 in 
Object.wait() [0x00000000420e8000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002aaab77f32b8> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x00002aaab77f32b8> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x000000005367e800 nid=0x2f5f runnable

"Gang worker#0 (Parallel GC Threads)" prio=10 tid=0x00000000534c1800 nid=0x2f54 
runnable

"Gang worker#1 (Parallel GC Threads)" prio=10 tid=0x00000000534c3800 nid=0x2f55 
runnable

"Gang worker#2 (Parallel GC Threads)" prio=10 tid=0x00000000534c5800 nid=0x2f56 
runnable

"Gang worker#3 (Parallel GC Threads)" prio=10 tid=0x00000000534c7000 nid=0x2f57 
runnable

"Gang worker#4 (Parallel GC Threads)" prio=10 tid=0x00000000534c9000 nid=0x2f58 
runnable

"Gang worker#5 (Parallel GC Threads)" prio=10 tid=0x00000000534cb000 nid=0x2f59 
runnable

"Gang worker#6 (Parallel GC Threads)" prio=10 tid=0x00000000534cc800 nid=0x2f5a 
runnable

"Gang worker#7 (Parallel GC Threads)" prio=10 tid=0x00000000534ce800 nid=0x2f5b 
runnable

"Concurrent Mark-Sweep GC Thread" prio=10 tid=0x000000005359e800 nid=0x2f5e 
runnable
"Gang worker#0 (Parallel CMS Threads)" prio=10 tid=0x000000005359b000 
nid=0x2f5c runnable

"Gang worker#1 (Parallel CMS Threads)" prio=10 tid=0x000000005359c800 
nid=0x2f5d runnable

"VM Periodic Task Thread" prio=10 tid=0x00000000536b7800 nid=0x2f67 waiting on 
condition

JNI global references: 960

Heap
 par new generation   total 115200K, used 67320K [0x00002aaaae6f0000, 
0x00002aaab63f0000, 0x00002aaab63f0000)
  eden space 102400K,  65% used [0x00002aaaae6f0000, 0x00002aaab28a6130, 
0x00002aaab4af0000)
  from space 12800K,   0% used [0x00002aaab5770000, 0x00002aaab5777f10, 
0x00002aaab63f0000)
  to   space 12800K,   0% used [0x00002aaab4af0000, 0x00002aaab4af0000, 
0x00002aaab5770000)
 concurrent mark-sweep generation total 896000K, used 705982K 
[0x00002aaab63f0000, 0x00002aaaecef0000, 0x00002aaaecef0000)
 concurrent-mark-sweep perm gen total 27204K, used 16361K [0x00002aaaecef0000, 
0x00002aaaee981000, 0x00002aaaf22f0000)
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to