From e4fb1deff791a6c57265dc69bf0486f7fbbda9d4 Mon Sep 17 00:00:00 2001 From: Ariel Weisberg Date: Fri, 5 Feb 2016 13:59:38 -0800 Subject: [PATCH] Gossiper#isEnabled is not thread safe patch by aweisberg; reviewed by jasobrown for CASSANDRA-11116 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/Gossiper.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 2af8bc9484..0d9877923c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.6 + * Gossiper#isEnabled is not thread safe (CASSANDRA-11116) * Fix paging on DISTINCT queries repeats result when first row in partition changes (CASSANDRA-10010) 2.2.5 * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949) diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java b/src/java/org/apache/cassandra/gms/Gossiper.java index 58d9c3cd85..4dfd22aaef 100644 --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@ -78,7 +78,7 @@ public class Gossiper implements IFailureDetectionEventListener, GossiperMBean SILENT_SHUTDOWN_STATES.add(VersionedValue.STATUS_BOOTSTRAPPING); } - private ScheduledFuture scheduledGossipTask; + private volatile ScheduledFuture scheduledGossipTask; private static final ReentrantLock taskLock = new ReentrantLock(); public final static int intervalInMillis = 1000; public final static int QUARANTINE_DELAY = StorageService.RING_DELAY * 2;