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

Branimir Lambov commented on CASSANDRA-12277:
---------------------------------------------

After trying for a day to find a quick solution to the underlying problem with 
this test, i.e. to find a way to algorithmically generate a good selection for 
the tokens of the first RF nodes, the thing I understand is that the problem 
needs a non-trivial time investment.

Being also too lazy to keep arguing about the benefits of an easy-to-use 
flaking test rerun infrastructure, I whipped out a rerun method that is not too 
difficult to apply on a case by case basis, and wrapped the test in it. The 
code is here:
|[code|https://github.com/blambov/cassandra/tree/12277]|[utests|http://cassci.datastax.com/view/Dev/view/blambov/job/blambov-12277-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/blambov/job/blambov-12277-dtest/]|

The {{flakyTest}} method runs the given test, and if it fails reruns it for the 
specified number of times expecting it to succeed on all reruns. This should 
reduce the incidence of flakes on this test by at least an order of magnitude 
while immediately breaking if the test fails with higher than expected 
probability.

> Extend testing infrastructure to handle expected intermittent flaky tests - 
> see ReplicationAwareTokenAllocatorTest.testNewCluster
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12277
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12277
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Joshua McKenzie
>            Assignee: Branimir Lambov
>            Priority: Minor
>              Labels: test
>
> From an offline discussion:
> bq. The ReplicationAwareTokenAllocatorTest.testNewCluster failure is a flake 
> -- randomness will sometimes (on the order of 1/100) cause it to fail. 
> Extending the ranges to avoid these flakes goes too far and makes the test 
> meaningless.
> bq. How about instead of @flaky/@Ignore which currently indicates a test that 
> intermittently fails but we do not expect it to, we instead use @tries, or 
> @runs, or some annotation that indicates "run this thing N times, if M pass 
> we're good". This would allow us to keep the current "we don't care about 
> these test results (in context of green test board) because intermittent 
> failures are not expected and the test quality needs shoring up" from "we 
> expect this test to fail sometimes in this particular way."



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to