merge from 1.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/789aab11 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/789aab11 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/789aab11 Branch: refs/heads/trunk Commit: 789aab11e31963cb7b84acebc37bd49d2697a5fc Parents: db45670 103d9fb Author: Jonathan Ellis <[email protected]> Authored: Mon Sep 24 10:43:33 2012 -0500 Committer: Jonathan Ellis <[email protected]> Committed: Mon Sep 24 10:43:33 2012 -0500 ---------------------------------------------------------------------- CHANGES.txt | 5 +++-- .../org/apache/cassandra/utils/ExpiringMap.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/789aab11/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 831496f,b7430d9..56422ea --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,47 -1,7 +1,48 @@@ -1.0.12 +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) + * 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) + * rename permission USE to DESCRIBE (CASSANDRA-4664) ++Merged from 1.0: + * Switch from NBHM to CHM in MessagingService's callback map, which ++ prevents OOM in long-running instances (CASSANDRA-4708) + + +1.1.5 + * add SecondaryIndex.reload API (CASSANDRA-4581) + * use millis + atomicint for commitlog segment creation instead of + nanotime, which has issues under some hypervisors (CASSANDRA-4601) + * fix FD leak in slice queries (CASSANDRA-4571) + * avoid recursion in leveled compaction (CASSANDRA-4587) + * increase stack size under Java7 to 180K + * Log(info) schema changes (CASSANDRA-4547) + * Change nodetool setcachecapcity to manipulate global caches (CASSANDRA-4563) + * (cql3) fix setting compaction strategy (CASSANDRA-4597) + * fix broken system.schema_* timestamps on system startup (CASSANDRA-4561) + * fix wrong skip of cache saving (CASSANDRA-4533) + * Avoid NPE when lost+found is in data dir (CASSANDRA-4572) + * Respect five-minute flush moratorium after initial CL replay (CASSANDRA-4474) + * Adds ntp as recommended in debian packaging (CASSANDRA-4606) + * Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558) + * (cql3) fix potential NPE with both equal and unequal restriction (CASSANDRA-4532) + * (cql3) improves ORDER BY validation (CASSANDRA-4624) + * Fix potential deadlock during counter writes (CASSANDRA-4578) + * Fix cql error with ORDER BY when using IN (CASSANDRA-4612) +Merged from 1.0: * increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602) * fix toString of hint destination tokens (CASSANDRA-4568) + * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626) + + +1.1.4 + * fix offline scrub to catch >= out of order rows (CASSANDRA-4411) + * fix cassandra-env.sh on RHEL and other non-dash-based systems + (CASSANDRA-4494) +Merged from 1.0: * (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534) * (Hadoop) fix iterating through a resultset consisting entirely of tombstoned rows (CASSANDRA-4466) http://git-wip-us.apache.org/repos/asf/cassandra/blob/789aab11/src/java/org/apache/cassandra/utils/ExpiringMap.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/utils/ExpiringMap.java index 0f9dca8,a09093f..1679e69 --- a/src/java/org/apache/cassandra/utils/ExpiringMap.java +++ b/src/java/org/apache/cassandra/utils/ExpiringMap.java @@@ -20,9 -20,10 +20,10 @@@ package org.apache.cassandra.utils import java.util.Map; import java.util.Set; -import java.util.Timer; -import java.util.TimerTask; import java.util.concurrent.ConcurrentHashMap; + import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import com.google.common.base.Function; import org.slf4j.Logger; @@@ -60,10 -59,9 +61,10 @@@ 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 ConcurrentHashMap<K, CacheableObject<V>> cache = new ConcurrentHashMap<K, CacheableObject<V>>(); + private final ConcurrentMap<K, CacheableObject<V>> cache = new ConcurrentHashMap<K, CacheableObject<V>>(); - private final Timer timer; - private static int counter = 0; private final long defaultExpiration; public ExpiringMap(long defaultExpiration)
