[ https://issues.apache.org/jira/browse/HBASE-21221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16634744#comment-16634744 ]
Ted Yu edited comment on HBASE-21221 at 10/1/18 11:05 PM: ---------------------------------------------------------- I noticed that the current test would pass even if MultiRowMutationEndpoint is not registered. In the test output: {code} 2018-10-01 15:55:15,749 DEBUG [hconnection-0x589a90eb-shared-pool13-t1] client.TestFromClientSide3(855): org.apache.hadoop.hbase.exceptions.UnknownProtocolException: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered coprocessor service found for MultiRowMutationService in region testMultiRowMutations,,1538434514918.8d59d9ae0e4652161a3048075502367a. at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:8223) at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:2484) at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:2466) at org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:42010) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304) {code} Attaching an addendum to exclude this scenario. was (Author: yuzhih...@gmail.com): I noticed that the current test would pass even if MultiRowMutationEndpoint is not registered. In the test output: {code} 2018-10-01 15:55:15,749 DEBUG [hconnection-0x589a90eb-shared-pool13-t1] client.TestFromClientSide3(855): ted org.apache.hadoop.hbase.exceptions.UnknownProtocolException: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered coprocessor service found for MultiRowMutationService in region testMultiRowMutations,,1538434514918.8d59d9ae0e4652161a3048075502367a. at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:8223) at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:2484) at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:2466) at org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:42010) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304) {code} Attaching an addendum to exclude this scenario. > 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 > Assignee: Ted Yu > Priority: Minor > Fix For: 3.0.0 > > Attachments: 21221.addendum.txt, 21221.v10.txt, 21221.v11.txt, > 21221.v12.txt, 21221.v7.txt, 21221.v8.txt, 21221.v9.txt > > > 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)