Merge branch 'cassandra-3.0' into cassandra-3.11

This commit is contained in:
Dinesh A. Joshi 2019-10-28 10:43:08 -07:00
commit 9c1925a558
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,7 @@
3.11.6
Merged from 2.2
* In-JVM DTest: Set correct internode message version for upgrade test (CASSANDRA-15371)
3.11.5
* Fix SASI non-literal string comparisons (range operators) (CASSANDRA-15169)
* Make sure user defined compaction transactions are always closed (CASSANDRA-15123)

View File

@ -299,6 +299,13 @@ public class Instance extends IsolatedExecutor implements IInvokableInstance
try (DataInputBuffer input = new DataInputBuffer(imessage.bytes()))
{
int version = imessage.version();
if (version > MessagingService.current_version)
{
throw new IllegalStateException(String.format("Node%d received message version %d but current version is %d",
this.config.num(),
version,
MessagingService.current_version));
}
MessagingService.validateMagic(input.readInt());
int id;
@ -491,8 +498,10 @@ public class Instance extends IsolatedExecutor implements IInvokableInstance
Gossiper.instance.realMarkAlive(ep.address, Gossiper.instance.getEndpointStateForEndpoint(ep.address));
});
int version = Math.min(MessagingService.current_version, cluster.get(ep).getMessagingVersion());
MessagingService.instance().setVersion(ep.address, version);
int messagingVersion = cluster.get(ep).isShutdown()
? MessagingService.current_version
: Math.min(MessagingService.current_version, cluster.get(ep).getMessagingVersion());
MessagingService.instance().setVersion(ep.address, messagingVersion);
}
// check that all nodes are in token metadata