Bret McGuire created CASSJAVA-138:
-------------------------------------

             Summary: Intermittent test failures with ContinuousPagingIT and 
Java17 (likely flaky test)
                 Key: CASSJAVA-138
                 URL: https://issues.apache.org/jira/browse/CASSJAVA-138
             Project: Apache Cassandra Java driver
          Issue Type: Improvement
            Reporter: Bret McGuire


While working on CASSJAVA-136 I started seeing random test failures on Jenkins 
builds of my pull request.  The change implemented on the pull request (a 
modification of equality for DSE geometric types) has absolutely no relation to 
continuous paging or anything in the test.  Yet after my modification I saw the 
following:

First run:

{noformat}
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=1,
 sizeInBytes=false, maxPages=0, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=100]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=10,
 sizeInBytes=false, maxPages=10, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=10]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=10,
 sizeInBytes=false, maxPages=9, maxPagesPerSecond=0, expectedRows=90, 
expectedPages=9]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=10,
 sizeInBytes=false, maxPages=0, maxPagesPerSecond=2, expectedRows=100, 
expectedPages=10]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=8,
 sizeInBytes=true, maxPages=0, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=100]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=16,
 sizeInBytes=true, maxPages=0, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=50]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=32,
 sizeInBytes=true, maxPages=0, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=25]
{noformat}

Second run (with identical code):

{noformat}
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.9.0', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=99,
 sizeInBytes=false, maxPages=0, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=2]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.9.0', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=50,
 sizeInBytes=false, maxPages=0, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=2]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.9.0', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=1,
 sizeInBytes=false, maxPages=0, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=100]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.9.0', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=10,
 sizeInBytes=false, maxPages=10, maxPagesPerSecond=0, expectedRows=100, 
expectedPages=10]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.9.0', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=10,
 sizeInBytes=false, maxPages=9, maxPagesPerSecond=0, expectedRows=90, 
expectedPages=9]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.9.0', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=10,
 sizeInBytes=false, maxPages=0, maxPagesPerSecond=2, expectedRows=100, 
expectedPages=10]
Per-Commit / Matrix - SERVER_VERSION = 'dse-6.8.30', JABBA_VERSION = 
'[email protected]' / Execute-Tests / 
com.datastax.dse.driver.api.core.cql.continuous.ContinuousPagingIT.should_execute_prepared_statement_synchronously[pageSize=10,
 sizeInBytes=false, maxPages=9, maxPagesPerSecond=0, expectedRows=90, 
expectedPages=9]
{noformat}

A couple things are of interest here:

* The tests only fail on Java17.  The Jenkins build runs tests for Java8, 
Java11, Java17 and Java21 but only Java17 seems to fail
* I do not see any equivalent failure on test runs of the 4.x branch
** In fairness the 4.x branch would still have the geometry issue referenced in 
CASSJAVA-136 but as mentioned above there's no correlation between that issue 
and this test
* The [test provider in 
question|https://github.com/apache/cassandra-java-driver/blob/e15da70e9fe2856bbcb27ab141b755440ca39ca9/integration-tests/src/test/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousPagingITBase.java#L84-L108]
 has 10 distinct options and no test is failing for all 10 options
* Tests for a given version of DSE are not consistent between runs

All this evidence together seems to argue for a flaky integration test... but I 
don't see anything obviously wrong with it



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to