Switch from NBHM to CHM in MessagingService's callback map patch by Daniel Norberg; reviewed by jbellis for CASSANDRA-4708
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/db45670a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/db45670a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/db45670a Branch: refs/heads/cassandra-1.1 Commit: db45670a3e0650738fee52ebba5bbe9b43af26c0 Parents: 686fe1e Author: Jonathan Ellis <[email protected]> Authored: Mon Sep 24 10:08:48 2012 -0500 Committer: Jonathan Ellis <[email protected]> Committed: Mon Sep 24 10:08:48 2012 -0500 ---------------------------------------------------------------------- CHANGES.txt | 5 ++++- .../org/apache/cassandra/utils/ExpiringMap.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/db45670a/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index b26917b..831496f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,10 @@ 1.1.6 + * Switch from NBHM to CHM in MessagingService's callback map, which + prevents OOM in long-running instances (CASSANDRA-4708) * Improve IAuthority interface by introducing fine-grained access permissions and grant/revoke commands (CASSANDRA-4490) - * fix assumption error in CLI when updating/describing keyspace (CASSANDRA-4322) + * fix assumption error in CLI when updating/describing keyspace + (CASSANDRA-4322) * Adds offline sstablescrub to debian packaging (CASSANDRA-4642) * Automatic fixing of overlapping leveled sstables (CASSANDRA-4644) * fix error when using ORDER BY with extended selections (CASSANDRA-4689) http://git-wip-us.apache.org/repos/asf/cassandra/blob/db45670a/src/java/org/apache/cassandra/utils/ExpiringMap.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/utils/ExpiringMap.java b/src/java/org/apache/cassandra/utils/ExpiringMap.java index ff9f2da..0f9dca8 100644 --- a/src/java/org/apache/cassandra/utils/ExpiringMap.java +++ b/src/java/org/apache/cassandra/utils/ExpiringMap.java @@ -20,6 +20,7 @@ package org.apache.cassandra.utils; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -28,7 +29,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor; -import org.cliffc.high_scale_lib.NonBlockingHashMap; public class ExpiringMap<K, V> { @@ -63,7 +63,7 @@ public class ExpiringMap<K, V> // if we use more ExpiringMaps we may want to add multiple threads to this executor private static final ScheduledExecutorService service = new DebuggableScheduledThreadPoolExecutor("EXPIRING-MAP-REAPER"); - private final NonBlockingHashMap<K, CacheableObject<V>> cache = new NonBlockingHashMap<K, CacheableObject<V>>(); + private final ConcurrentHashMap<K, CacheableObject<V>> cache = new ConcurrentHashMap<K, CacheableObject<V>>(); private final long defaultExpiration; public ExpiringMap(long defaultExpiration)
