Ted Yu created HBASE-21221: ------------------------------ Summary: Ineffective assertion in TestFromClientSide3#testMultiRowMutations Key: HBASE-21221 URL: https://issues.apache.org/jira/browse/HBASE-21221 Project: HBase Issue Type: Test Reporter: Ted Yu
Observed the following in org.apache.hadoop.hbase.util.TestFromClientSide3WoUnsafe-output.txt : {code} Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(java.io.IOException): java.io.IOException: Timed out waiting for lock for row: ROW-1 in region 089bdfa75f44d88e596479038a6da18b at org.apache.hadoop.hbase.regionserver.HRegion.getRowLockInternal(HRegion.java:5816) at org.apache.hadoop.hbase.regionserver.HRegion$4.lockRowsAndBuildMiniBatch(HRegion.java:7432) at org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutate(HRegion.java:4008) at org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:3982) at org.apache.hadoop.hbase.regionserver.HRegion.mutateRowsWithLocks(HRegion.java:7424) at org.apache.hadoop.hbase.coprocessor.MultiRowMutationEndpoint.mutateRows(MultiRowMutationEndpoint.java:116) at org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos$MultiRowMutationService.callMethod(MultiRowMutationProtos.java:2266) at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:8182) at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:2481) at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:2463) ... Exception in thread "pool-678-thread-1" java.lang.AssertionError: This cp should fail because the target lock is blocked by previous put at org.junit.Assert.fail(Assert.java:88) at org.apache.hadoop.hbase.client.TestFromClientSide3.lambda$testMultiRowMutations$7(TestFromClientSide3.java:861) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) {code} Here is related code: {code} cpService.execute(() -> { ... if (!threw) { // Can't call fail() earlier because the catch would eat it. fail("This cp should fail because the target lock is blocked by previous put"); } {code} Since the fail() call is executed by the cpService, the assertion had no bearing on the outcome of the test. -- This message was sent by Atlassian JIRA (v7.6.3#76005)