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

        stack created issue -
        stack made changes -
        Field Original Value New Value
        Attachment 8931.txt [ 12591919 ]
        stack made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        stack made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development