Description
When we run tests, they run w/ assertions enabled so we can stuff like this:
2013-07-11 08:55:40,781 INFO [RpcServer.handler=0,port=51447] regionserver.HRegionServer(3619): Splitting testTableReadLock,85203ae86f2de2662ca5b6d614fbe495-4672,1373532936861.f17cc40a225b8de3797757dc3b05dde3. 2013-07-11 08:55:40,782 ERROR [RpcServer.handler=0,port=51447] ipc.RpcServer(2161): Unexpected throwable object java.lang.AssertionError: getSplitPoint() called on a region that can't split! at org.apache.hadoop.hbase.regionserver.HStore.getSplitPoint(HStore.java:1587) at org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.getSplitPoint(RegionSplitPolicy.java:81) at org.apache.hadoop.hbase.regionserver.HRegion.checkSplit(HRegion.java:5311) at org.apache.hadoop.hbase.regionserver.HRegionServer.splitRegion(HRegionServer.java:3626) at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:14396) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2124) at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1831) 2013-07-11 08:55:40,816 DEBUG [Split thread] catalog.CatalogTracker(208): Stopping catalog tracker org.apache.hadoop.hbase.catalog.CatalogTracker@25e0df1b 2013-07-11 08:55:40,833 WARN [Split thread] master.TestTableLockManager$7(382): Caught exception java.io.IOException: java.io.IOException: getSplitPoint() called on a region that can't split! at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2162) at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1831) Caused by: java.lang.AssertionError: getSplitPoint() called on a region that can't split! at org.apache.hadoop.hbase.regionserver.HStore.getSplitPoint(HStore.java:1587) at org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.getSplitPoint(RegionSplitPolicy.java:81) at org.apache.hadoop.hbase.regionserver.HRegion.checkSplit(HRegion.java:5311) at org.apache.hadoop.hbase.regionserver.HRegionServer.splitRegion(HRegionServer.java:3626) at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:14396) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2124) ... 1 more at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:90) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:79) at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:232) at org.apache.hadoop.hbase.protobuf.ProtobufUtil.split(ProtobufUtil.java:1511) at org.apache.hadoop.hbase.client.HBaseAdmin.split(HBaseAdmin.java:1801) at org.apache.hadoop.hbase.client.HBaseAdmin.split(HBaseAdmin.java:1774) at org.apache.hadoop.hbase.client.HBaseAdmin.split(HBaseAdmin.java:1747) at org.apache.hadoop.hbase.master.TestTableLockManager$7.chore(TestTableLockManager.java:372) at org.apache.hadoop.hbase.Chore.run(Chore.java:80) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(java.io.IOException): java.io.IOException: getSplitPoint() called on a region that can't split! at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2162) at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1831) Caused by: java.lang.AssertionError: getSplitPoint() called on a region that can't split! at org.apache.hadoop.hbase.regionserver.HStore.getSplitPoint(HStore.java:1587) at org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.getSplitPoint(RegionSplitPolicy.java:81) at org.apache.hadoop.hbase.regionserver.HRegion.checkSplit(HRegion.java:5311) at org.apache.hadoop.hbase.regionserver.HRegionServer.splitRegion(HRegionServer.java:3626) at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:14396) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2124) ... 1 more at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1369) at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1573) at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1630) at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$BlockingStub.splitRegion(AdminProtos.java:15141) at org.apache.hadoop.hbase.protobuf.ProtobufUtil.split(ProtobufUtil.java:1509) ... 6 more 2013-07-11 08:55:40,834 FATAL [Split thread] hbase.Chore(91): Split threaderror java.lang.AssertionError: java.io.IOException: getSplitPoint() called on a region that can't split! at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2162) at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1831) Caused by: java.lang.AssertionError: getSplitPoint() called on a region that can't split! at org.apache.hadoop.hbase.regionserver.HStore.getSplitPoint(HStore.java:1587) at org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.getSplitPoint(RegionSplitPolicy.java:81) at org.apache.hadoop.hbase.regionserver.HRegion.checkSplit(HRegion.java:5311) at org.apache.hadoop.hbase.regionserver.HRegionServer.splitRegion(HRegionServer.java:3626) at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:14396) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2124) ... 1 more at org.junit.Assert.fail(Assert.java:88) at org.apache.hadoop.hbase.master.TestTableLockManager$7.chore(TestTableLockManager.java:383) at org.apache.hadoop.hbase.Chore.run(Chore.java:80)
The assertion here is for a condition that is not a problem; the region is currently not splittable because it has references.
Let me remove the assertion; it is causing the test splitter thread to exit but the test depends on it making progress ... so we are timing out.