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

Yifan Cai commented on CASSANDRA-16759:
---------------------------------------

Since we do not memorize the Cassandra version when the gossiper is not started 
or not know others, the node runs the check more frequently. It is possible 
that the remote peers are not in the live members yet, and the check 
({{upgradeFromVersionSupplier}}) memorize the wrong lowest version. 
It causes the upgrade test to fail.

The check should not only iterate though the live member (i.e., the peers that 
the node has directly contacted). Instead, it should check all the hosts that 
the gossiper has heard of.
I have put a fix here. 
https://github.com/yifan-c/cassandra/commit/ee2bf298ec427c3283ac04d0ac87b395d50fff6a
Running the CI with the new commit: 
https://app.circleci.com/pipelines/github/yifan-c/cassandra/242/workflows/02c8a073-67e9-4cf9-abe5-03a8d3a4281e

[~jmeredithco] and [~brandon.williams], please take a look. 

> Avoid memoizing the wrong min cluster version during upgrades
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-16759
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16759
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Coordination
>            Reporter: Marcus Eriksson
>            Assignee: Marcus Eriksson
>            Priority: Normal
>             Fix For: 4.0-rc2
>
>
> CASSANDRA-16525 avoids trying to calculate the cluster min version if 
> gossiper is not enabled.
> This makes us memoize the wrong version for up to a minute causing us to send 
> 4.0-messages to 3.0 nodes, for example in 
> [ColumnFilter|https://github.com/apache/cassandra/blob/05beda90a9206db165a3997a736ecb06f8dc695e/src/java/org/apache/cassandra/db/filter/ColumnFilter.java#L210]
> This was discovered by python upgrade dtests, 
> [here|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/993/workflows/2afef6f0-1356-41f6-93dc-5385ac19dca1/jobs/5977/tests#failed-test-0]
>  after reverting CASSANDRA-15899 in CASSANDRA-16735



--
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