This is an automated email from the ASF dual-hosted git repository.
brandonwilliams pushed a commit to branch cassandra-4.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/cassandra-4.0 by this push:
new 658e08d add and use Gossiper.clearUnsafe to fix LeaveAndBootstrapTest
new 379976d Merge branch 'cassandra-4.0.0' into cassandra-4.0
658e08d is described below
commit 658e08dc7e7561a6313675a73a6dbd43c73bbde4
Author: Brandon Williams <[email protected]>
AuthorDate: Tue Jun 15 13:04:02 2021 -0500
add and use Gossiper.clearUnsafe to fix LeaveAndBootstrapTest
Patch by brandonwilliams, reviewed by adelapena for CASSANDRA-16689
---
src/java/org/apache/cassandra/gms/Gossiper.java | 11 +++++++++++
.../org/apache/cassandra/service/LeaveAndBootstrapTest.java | 6 ++++++
2 files changed, 17 insertions(+)
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java
b/src/java/org/apache/cassandra/gms/Gossiper.java
index b041d23..39fe1fe 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -169,6 +169,17 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
*/
private volatile boolean upgradeInProgressPossible = true;
+ public void clearUnsafe()
+ {
+ unreachableEndpoints.clear();
+ liveEndpoints.clear();
+ justRemovedEndpoints.clear();
+ expireTimeEndpointMap.clear();
+ endpointStateMap.clear();
+ endpointShadowStateMap.clear();
+ seedsInShadowRound.clear();
+ }
+
final Supplier<ExpiringMemoizingSupplier.ReturnValue<CassandraVersion>>
upgradeFromVersionSupplier = () ->
{
// Once there are no prior version nodes we don't need to keep
rechecking
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index 018e3ea..02d625c 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -87,6 +87,7 @@ public class LeaveAndBootstrapTest
TokenMetadata tmd = ss.getTokenMetadata();
tmd.clearUnsafe();
+ Gossiper.instance.clearUnsafe();
IPartitioner partitioner = RandomPartitioner.instance;
VersionedValue.VersionedValueFactory valueFactory = new
VersionedValue.VersionedValueFactory(partitioner);
@@ -158,6 +159,7 @@ public class LeaveAndBootstrapTest
final int RING_SIZE = 10;
TokenMetadata tmd = ss.getTokenMetadata();
tmd.clearUnsafe();
+ Gossiper.instance.clearUnsafe();
IPartitioner partitioner = RandomPartitioner.instance;
VersionedValue.VersionedValueFactory valueFactory = new
VersionedValue.VersionedValueFactory(partitioner);
@@ -461,6 +463,7 @@ public class LeaveAndBootstrapTest
StorageService ss = StorageService.instance;
TokenMetadata tmd = ss.getTokenMetadata();
tmd.clearUnsafe();
+ Gossiper.instance.clearUnsafe();
IPartitioner partitioner = RandomPartitioner.instance;
VersionedValue.VersionedValueFactory valueFactory = new
VersionedValue.VersionedValueFactory(partitioner);
@@ -538,6 +541,7 @@ public class LeaveAndBootstrapTest
StorageService ss = StorageService.instance;
TokenMetadata tmd = ss.getTokenMetadata();
tmd.clearUnsafe();
+ Gossiper.instance.clearUnsafe();
IPartitioner partitioner = RandomPartitioner.instance;
VersionedValue.VersionedValueFactory valueFactory = new
VersionedValue.VersionedValueFactory(partitioner);
@@ -580,6 +584,7 @@ public class LeaveAndBootstrapTest
StorageService ss = StorageService.instance;
TokenMetadata tmd = ss.getTokenMetadata();
tmd.clearUnsafe();
+ Gossiper.instance.clearUnsafe();
IPartitioner partitioner = RandomPartitioner.instance;
VersionedValue.VersionedValueFactory valueFactory = new
VersionedValue.VersionedValueFactory(partitioner);
@@ -630,6 +635,7 @@ public class LeaveAndBootstrapTest
StorageService ss = StorageService.instance;
TokenMetadata tmd = ss.getTokenMetadata();
tmd.clearUnsafe();
+ Gossiper.instance.clearUnsafe();
IPartitioner partitioner = RandomPartitioner.instance;
VersionedValue.VersionedValueFactory valueFactory = new
VersionedValue.VersionedValueFactory(partitioner);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]