[
https://issues.apache.org/jira/browse/HBASE-14535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Enis Soztutar updated HBASE-14535:
----------------------------------
Attachment: hbase-14535_v2.patch
bq. A non-deterministic UT is a broken UT by definition IMHO. When we find such
creatures when debugging builds they tend to get disabled with prejudice, later
removed.
I disagree. There are some code paths or race conditions that doing a unit test
against is not possible or easy. Current lack of unit testing against the RPC
client is a perfect example of this. We do not want to leave discovering issues
like HBASE-14474 or HBASE-14313 to the IT framework which does not run
periodically in different branches.
This test for example, fails with the branch-1 checkout of b8c7a08 (before
HBASE-14313) every couple of runs. We can make it to run longer to catch any
issue earlier, but it is about finding a balance.
{code}
HEAD detached at b8c7a08:
"Time-limited test" daemon prio=5 tid=0x00007fbda48ad800 nid=0x5303 waiting on
condition [0x000000012073a000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.hadoop.hbase.ipc.RpcClientImpl.close(RpcClientImpl.java:1174)
at
org.apache.hadoop.hbase.ipc.TestRpcWithChaosMonkey.testRpcWithChaosMonkey(TestRpcWithChaosMonkey.java:330)
{code}
> Unit test for rpc connection concurrency / deadlock testing
> ------------------------------------------------------------
>
> Key: HBASE-14535
> URL: https://issues.apache.org/jira/browse/HBASE-14535
> Project: HBase
> Issue Type: Sub-task
> Components: rpc
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 2.0.0, 1.2.0, 1.3.0, 1.0.3, 1.1.3, 0.98.16
>
> Attachments: hbase-14535_v1.patch, hbase-14535_v2.patch
>
>
> As per parent jira and recent jiras HBASE-14449 + HBASE-14241 and
> HBASE-14313, we seem to be lacking some testing rpc connection concurrency
> issues in a UT env.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)