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

Andres de la Peña commented on CASSANDRA-16444:
-----------------------------------------------

[~adutra] this is a nice investigation on the causes of those failures. I've 
run our internal test multiplexer for {{SASIIndexTest}} with 200 iterations for 
the current 3.11 and trunk branches and for each corresponding patch:
||branch||job||failed tests||
|cassandra-3.11|[696|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/696/]|testPagination(200),
 testIndexRedistribution(200), 
testMultiExpressionQueriesWhereRowSplitBetweenSSTables(1)|
|trunk|[697|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/697/]|testMultiExpressionQueriesWhereRowSplitBetweenSSTables(5)|
|16444-3.11|[698|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/698/]|testTableRebuild(11),
 testIndexRebuild(11)|
|16444-trunk|[699|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/699/]|testMultiExpressionQueriesWhereRowSplitBetweenSSTables(1)|

So it seems that, if we trust the multiplexer, we still have some flakiness. 
And, as Benjamin mentioned, {{testIndexMemtableSwitching}} doesn't seem to be 
failing anymore.

Also, although it's not related to the patch, I think that perhaps we could 
clean here some of the many warnings in {{SASIIndexTest}}. The most frequent 
ones are unneeded uses of {{throws Exception}} and many calls of the form:
{code:java}
Assert.assertTrue(rows.toString(), Arrays.equals(new String[] { "key1", "key2", 
"key3", "key4" }, rows.toArray(new String[rows.size()])));
{code}
These could be simplified if we added a simple utility method like, for example:
{code:java}
assertRows(rows, "key1", "key2", "key3", "key4");
...
private static void assertRows(Set<String> actual, String... expected)
{
    Assert.assertArrayEquals(expected, Iterables.toArray(actual, String.class));
}
{code}
Not sure whether introducing these changes would be too distracting but I think 
they would easily increase the readability of the test class. I gave it a quick 
go 
[here|https://github.com/adelapena/cassandra/commit/7b6d460b63c48636d907e48e40fe1b64d8687ddc].

> Fix flaky test testMultiExpressionQueriesWhereRowSplitBetweenSSTables - 
> org.apache.cassandra.index.sasi.SASIIndexTest
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-16444
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16444
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/unit
>            Reporter: David Capwell
>            Assignee: Alexandre Dutra
>            Priority: Normal
>             Fix For: 4.0-beta
>
>
> https://app.circleci.com/pipelines/github/dcapwell/cassandra/862/workflows/d2b10373-5bd1-4895-a738-1c28587cae62/jobs/5136
> {code}
> junit.framework.AssertionFailedError: []
>       at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testMultiExpressionQueriesWhereRowSplitBetweenSSTables(SASIIndexTest.java:589)
>       at 
> org.apache.cassandra.index.sasi.SASIIndexTest.testMultiExpressionQueriesWhereRowSplitBetweenSSTables(SASIIndexTest.java:468)
> {code}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to