HBase
  1. HBase
  2. HBASE-8931

TestTableLockManager.testTableReadLock fails

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.95.2
    • Component/s: test
    • Labels:
      None

      Description

      See http://54.241.6.143/job/HBase-0.95-Hadoop-2/org.apache.hbase$hbase-server/602/testReport/org.apache.hadoop.hbase.master/TestTableLockManager/testTableReadLock/

      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.

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            stack
            Reporter:
            stack
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development