[ https://issues.apache.org/jira/browse/CASSANDRA-18393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17760314#comment-17760314 ]
Berenguer Blasi edited comment on CASSANDRA-18393 at 8/30/23 10:03 AM: ----------------------------------------------------------------------- The test [sets/hacks|https://github.com/apache/cassandra/blob/cassandra-5.0/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java#L96] the upgrade version and we can see a small hack there were node 2 is [added|https://github.com/apache/cassandra/blob/cassandra-5.0/test/unit/org/apache/cassandra/Util.java#L1099]. This is to prevent the Gossiper upgrade from version supplier from short cutting [here|https://github.com/apache/cassandra/blob/cassandra-5.0/src/java/org/apache/cassandra/gms/Gossiper.java#L235], otherwise it will return the node's default version. The problem is when node2 is added by the test but on a slow env the Gossiper removes it as if it were a fat client: _[junit-timeout] INFO [GossipTasks:1] 2023-08-29 12:32:31,843 Gossiper.java:1119 - FatClient /127.0.0.2:7012 has been silent for 1000ms, removing from gossip_ That will trigger the failure we're seeing. The fix is to spin assert the version setup. We can see [5K green repeats|https://app.circleci.com/pipelines/github/bereng/cassandra/1051/workflows/0f339cc5-7dcd-4798-8202-6d4f2ae2bb0d/jobs/27078] whereas that was impossible before the fix. The current PR is WIP set up for review for validation of the solution only. If we're happy with it I will clean logging, remove some extra methods from the prior ticket and make it pretty. was (Author: bereng): The test [sets/hacks|https://github.com/apache/cassandra/blob/cassandra-5.0/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java#L96] the upgrade version and we can see a small hack there were node 2 is [added|https://github.com/apache/cassandra/blob/cassandra-5.0/test/unit/org/apache/cassandra/Util.java#L1099]. This is to prevent the Gossiper upgrade from version supplier from short cutting [here|https://github.com/apache/cassandra/blob/cassandra-5.0/src/java/org/apache/cassandra/gms/Gossiper.java#L235], otherwise it will return the node's default version. The problem is when node2 is added by the test but on a slow env the Gossiper removes it as if it were a fat client: _[junit-timeout] INFO [GossipTasks:1] 2023-08-29 12:32:31,843 Gossiper.java:1119 - FatClient /127.0.0.2:7012 has been silent for 1000ms, removing from gossip_ That will trigger the failure we're seeing. The fix is to spin assert the version setup. We can see [5K green repeats|https://app.circleci.com/pipelines/github/bereng/cassandra/1051/workflows/0f339cc5-7dcd-4798-8202-6d4f2ae2bb0d/jobs/27078] whereas that was impossible before the fix > Flaky test: > org.apache.cassandra.cql3.validation.operations.InsertUpdateIfConditionTest.testConditionalUpdate[1: > clusterMinVersion=3.11]-compression.jdk1.8 on trunk > -------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: CASSANDRA-18393 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18393 > Project: Cassandra > Issue Type: Bug > Components: Test/unit > Reporter: Josh McKenzie > Assignee: Berenguer Blasi > Priority: Normal > Fix For: 4.1.x, 5.0, 5.0.x > > > Failed 1 times in the last 1 runs. Flakiness: 0%, Stability: 0% > {code} > Error Message > 5.0.0-SNAPSHOT boolean:false > Stacktrace > junit.framework.AssertionFailedError: 5.0.0-SNAPSHOT boolean:false > at > org.apache.cassandra.cql3.validation.operations.InsertUpdateIfConditionTest.lambda$data$1(InsertUpdateIfConditionTest.java:70) > at > org.apache.cassandra.cql3.validation.operations.InsertUpdateIfConditionTest.beforeSetup(InsertUpdateIfConditionTest.java:95) > at > org.apache.cassandra.cql3.validation.operations.InsertUpdateIfConditionTest.before(InsertUpdateIfConditionTest.java:89) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org