[infinispan-commits] Infinispan SVN: r2111 - branches/4.1.x/core/src/main/java/org/infinispan/container.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Tue Jul 27 12:31:49 EDT 2010
Author: manik.surtani at jboss.com
Date: 2010-07-27 12:31:49 -0400 (Tue, 27 Jul 2010)
New Revision: 2111
Modified:
branches/4.1.x/core/src/main/java/org/infinispan/container/DefaultDataContainer.java
Log:
[ISPN-536] (The size of a local cache could be more accurate under concurrent modifications when expiration is enabled)
Modified: branches/4.1.x/core/src/main/java/org/infinispan/container/DefaultDataContainer.java
===================================================================
--- branches/4.1.x/core/src/main/java/org/infinispan/container/DefaultDataContainer.java 2010-07-27 16:25:18 UTC (rev 2110)
+++ branches/4.1.x/core/src/main/java/org/infinispan/container/DefaultDataContainer.java 2010-07-27 16:31:49 UTC (rev 2111)
@@ -128,8 +128,9 @@
InternalCacheEntry e = peek(k);
if (e != null) {
if (e.isExpired()) {
- mortalEntries.remove(k);
- numEntries.getAndDecrement();
+ if (mortalEntries.remove(k) != null) {
+ numEntries.getAndDecrement();
+ }
e = null;
} else {
e.touch();
@@ -187,8 +188,9 @@
public boolean containsKey(Object k) {
InternalCacheEntry ice = peek(k);
if (ice != null && ice.isExpired()) {
- mortalEntries.remove(k);
- numEntries.getAndDecrement();
+ if (mortalEntries.remove(k) != null) {
+ numEntries.getAndDecrement();
+ }
ice = null;
}
return ice != null;
More information about the infinispan-commits
mailing list