Hung cluster because master is hung because Get inside synchronize on 
RegionManager never returned
--------------------------------------------------------------------------------------------------

                 Key: HBASE-2880
                 URL: https://issues.apache.org/jira/browse/HBASE-2880
             Project: HBase
          Issue Type: Bug
            Reporter: stack
            Priority: Critical
             Fix For: 0.90.0


I just ran into this testing 0.89 RC candidate.

So, Master is hung up because all threads are locked out because one thread is 
stuck inside a block that is synchronized on RegionManager (0x00007fe1f94777d0 
in the below):

{code}
3277 "IPC Server handler 9 on 60000" daemon prio=10 tid=0x00007fe1dc00f000 
nid=0x409d in Object.wait() [0x00007fe1e9200000]
3278    java.lang.Thread.State: WAITING (on object monitor)
3279         at java.lang.Object.wait(Native Method)
3280         at java.lang.Object.wait(Object.java:485)
3281         at 
org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:732)
3282         - locked <0x00007fe1f8672818> (a 
org.apache.hadoop.hbase.ipc.HBaseClient$Call)
3283         at 
org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:252)
3284         at $Proxy1.get(Unknown Source)
3285         at 
org.apache.hadoop.hbase.master.ServerManager.assignSplitDaughter(ServerManager.java:550)
3286         at 
org.apache.hadoop.hbase.master.ServerManager.processSplitRegion(ServerManager.java:525)
3287         - locked <0x00007fe1f94777d0> (a 
org.apache.hadoop.hbase.master.RegionManager)
3288         at 
org.apache.hadoop.hbase.master.ServerManager.processMsgs(ServerManager.java:476)
3289         at 
org.apache.hadoop.hbase.master.ServerManager.processRegionServerAllsWell(ServerManager.java:425)
3290         at 
org.apache.hadoop.hbase.master.ServerManager.regionServerReport(ServerManager.java:335)
3291         at 
org.apache.hadoop.hbase.master.HMaster.regionServerReport(HMaster.java:738)
3292         at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
3293         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
3294         at java.lang.reflect.Method.invoke(Method.java:597)
3295         at 
org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:576)
3296         at 
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:919)
{code}

The above code is not returning because Call#callComplete is never going to be 
called on the outstanding Get.  The target RS OOME'd.  Something in the way an 
OOME is being processed made it so this connection is not ever going to be 
cleaned up/notified.

We're stuck here.

I'm trying to figure why the clean up is not happening.

-- 
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