jacek-lewandowski commented on a change in pull request #892:
URL: https://github.com/apache/cassandra/pull/892#discussion_r577535622
##########
File path: src/java/org/apache/cassandra/gms/Gossiper.java
##########
@@ -158,38 +158,44 @@
private volatile long lastProcessedMessageAt = System.currentTimeMillis();
- //This property and anything that checks it should be removed in 5.0
- private boolean haveMajorVersion3Nodes = true;
+ // This property and anything that checks it should be removed in 5.0
+ /**
+ * This property is initially set to null version which means that we have
no information about the other nodes.
+ * Once we have information about the cluster, it is set to the earliest
version encountered in the cluster.
+ * Once all nodes are on at least this node version, it becomes null,
which means that we are not upgrading from
+ * the previous version (major, minor).
+ */
+ private CassandraVersion upgradeFromVersion = SystemKeyspace.NULL_VERSION;
- final Supplier<ExpiringMemoizingSupplier.ReturnValue<Boolean>>
haveMajorVersion3NodesSupplier = () ->
+ final Supplier<ExpiringMemoizingSupplier.ReturnValue<CassandraVersion>>
upgradeFromVersionSupplier = () ->
Review comment:
I was thinking about that but came into conclusion that unfortunately we
could not do that. Look, while 4.0 notices the upgrade from 3.11 and it can act
in whichever way we decide, 3.11 will work as usual and use 3.11
`ColumnFilter`. That's why we cannot just simply make 4.0 work in 3.0
compatibility mode when upgrading from any 3.0 or 3.11.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]