From a7da0295d575124032c2f2a0a96ce45ebe2d5df6 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Fri, 18 Jan 2013 12:56:24 -0800 Subject: [PATCH] fix ConcurrentModificationException in getBootstrapSource --- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/service/LoadBroadcaster.java | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 2a19ed52f1..9cdb02a138 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,7 @@ 1.1.10 * fix saved key cache not loading at startup (CASSANDRA-5166) + * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170) + 1.1.9 * Simplify CompressedRandomAccessReader to work around JDK FD bug (CASSANDRA-5088) diff --git a/src/java/org/apache/cassandra/service/LoadBroadcaster.java b/src/java/org/apache/cassandra/service/LoadBroadcaster.java index b3232fe00b..40e25cea73 100644 --- a/src/java/org/apache/cassandra/service/LoadBroadcaster.java +++ b/src/java/org/apache/cassandra/service/LoadBroadcaster.java @@ -20,6 +20,8 @@ package org.apache.cassandra.service; import java.net.InetAddress; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; import org.slf4j.Logger; @@ -35,7 +37,7 @@ public class LoadBroadcaster implements IEndpointStateChangeSubscriber private static final Logger logger_ = LoggerFactory.getLogger(LoadBroadcaster.class); - private Map loadInfo_ = new HashMap(); + private ConcurrentMap loadInfo_ = new ConcurrentHashMap(); private LoadBroadcaster() { @@ -71,7 +73,7 @@ public class LoadBroadcaster implements IEndpointStateChangeSubscriber public Map getLoadInfo() { - return loadInfo_; + return Collections.unmodifiableMap(loadInfo_); } public void startBroadcasting()