[
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: [email protected]
For additional commands, e-mail: [email protected]