You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Reid Chan (Jira)" <ji...@apache.org> on 2020/09/14 09:13:00 UTC

[jira] [Comment Edited] (HBASE-25024) [Flake Test][branch-1] TestClientOperationInterrupt#testInterrupt50Percent

    [ https://issues.apache.org/jira/browse/HBASE-25024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17195310#comment-17195310 ] 

Reid Chan edited comment on HBASE-25024 at 9/14/20, 9:12 AM:
-------------------------------------------------------------

This test is too tricky.
{code}
2020-09-14 17:03:55,873 INFO  [TestClientOperationInterrupt #36] client.TestClientOperationInterrupt$1(113): exception
java.io.InterruptedIOException
        at org.apache.hadoop.hbase.ipc.BlockingRpcCallback.get(BlockingRpcCallback.java:64)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:330)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$200(AbstractRpcClient.java:94)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:571)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:37226)
        at org.apache.hadoop.hbase.client.HTable$3.call(HTable.java:855)
        at org.apache.hadoop.hbase.client.HTable$3.call(HTable.java:845)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:143)
        at org.apache.hadoop.hbase.client.HTable.get(HTable.java:863)
        at org.apache.hadoop.hbase.client.HTable.get(HTable.java:828)
        at org.apache.hadoop.hbase.client.TestClientOperationInterrupt$1.run(TestClientOperationInterrupt.java:110)
Caused by: java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:502)
        at org.apache.hadoop.hbase.ipc.BlockingRpcCallback.get(BlockingRpcCallback.java:62)
        ... 10 more
{code}
A thread will only act as expected, when it is interrupted in the meantime it is calling BlockingRpcCallback#get. In most failed cases, the get() got results back already.


was (Author: reidchan):
This test is too tricky.
{code}
2020-09-14 17:03:55,873 INFO  [TestClientOperationInterrupt #36] client.TestClientOperationInterrupt$1(113): exception
java.io.InterruptedIOException
        at org.apache.hadoop.hbase.ipc.BlockingRpcCallback.get(BlockingRpcCallback.java:64)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:330)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$200(AbstractRpcClient.java:94)
        at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:571)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.get(ClientProtos.java:37226)
        at org.apache.hadoop.hbase.client.HTable$3.call(HTable.java:855)
        at org.apache.hadoop.hbase.client.HTable$3.call(HTable.java:845)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:143)
        at org.apache.hadoop.hbase.client.HTable.get(HTable.java:863)
        at org.apache.hadoop.hbase.client.HTable.get(HTable.java:828)
        at org.apache.hadoop.hbase.client.TestClientOperationInterrupt$1.run(TestClientOperationInterrupt.java:110)
Caused by: java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:502)
        at org.apache.hadoop.hbase.ipc.BlockingRpcCallback.get(BlockingRpcCallback.java:62)
        ... 10 more
{code}
A thread will only act as expected, when it is interrupted while in the meantime it is calling BlockingRpcCallback#get. In most failed cases, the get() got results.

> [Flake Test][branch-1] TestClientOperationInterrupt#testInterrupt50Percent
> --------------------------------------------------------------------------
>
>                 Key: HBASE-25024
>                 URL: https://issues.apache.org/jira/browse/HBASE-25024
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Reid Chan
>            Priority: Minor
>             Fix For: 1.7.0
>
>
> Sometimes threads could finish faster before interrupt() gets called. 
> {code}
>       // ...
>       t.start();
>     }
>     int expectedNoExNum = nbThread / 2;
>     for (int i = 0; i < nbThread / 2; i++) {
>       if (threads.get(i).getState().equals(Thread.State.TERMINATED)) {
>         expectedNoExNum--;
>       }
>       threads.get(i).interrupt();
>     }
> {code}
> So this test could get failed sometimes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)