Repository: cassandra Updated Branches: refs/heads/trunk 392866546 -> cbb2be198
Gossiper#isEnabled is not thread safe patch by aweisberg; reviewed by jasobrown for CASSANDRA-11116 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4fb1def Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4fb1def Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4fb1def Branch: refs/heads/trunk Commit: e4fb1deff791a6c57265dc69bf0486f7fbbda9d4 Parents: 1168ddf Author: Ariel Weisberg <[email protected]> Authored: Fri Feb 5 13:59:38 2016 -0800 Committer: Jason Brown <[email protected]> Committed: Fri Feb 5 13:59:38 2016 -0800 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/Gossiper.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4fb1def/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 2af8bc9..0d98779 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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4fb1def/src/java/org/apache/cassandra/gms/Gossiper.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java b/src/java/org/apache/cassandra/gms/Gossiper.java index 58d9c3c..4dfd22a 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;
