[infinispan-commits] Infinispan SVN: r1735 - in trunk/core/src: main/java/org/infinispan/factories and 1 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Mon May 3 15:15:12 EDT 2010
Author: vblagojevic at jboss.com
Date: 2010-05-03 15:15:11 -0400 (Mon, 03 May 2010)
New Revision: 1735
Added:
trunk/core/src/test/java/org/infinispan/eviction/LIRSEvictionFunctionalTest.java
trunk/core/src/test/java/org/infinispan/eviction/UNORDEREDEvictionFunctionalTest.java
Modified:
trunk/core/src/main/java/org/infinispan/container/DefaultDataContainer.java
trunk/core/src/main/java/org/infinispan/factories/DataContainerFactory.java
trunk/core/src/test/java/org/infinispan/eviction/BaseEvictionFunctionalTest.java
Log:
[ISPN-414] - UNORDERED eviction does not work
treat UNORDERED as LRU (for now)
add tests for LIRS and UNORDERED
Modified: trunk/core/src/main/java/org/infinispan/container/DefaultDataContainer.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/DefaultDataContainer.java 2010-05-03 09:22:06 UTC (rev 1734)
+++ trunk/core/src/main/java/org/infinispan/container/DefaultDataContainer.java 2010-05-03 19:15:11 UTC (rev 1735)
@@ -79,6 +79,7 @@
Eviction eviction;
switch (strategy) {
case FIFO:
+ case UNORDERED:
case LRU:
eviction = Eviction.LRU;
break;
@@ -248,9 +249,15 @@
}
public Set<InternalCacheEntry> getEvicted() {
+ Set<InternalCacheEntry> result = Collections.emptySet();
synchronized (evicted) {
- return new HashSet<InternalCacheEntry>(evicted);
- }
+ try {
+ result = new HashSet<InternalCacheEntry>(evicted);
+ } finally {
+ evicted.clear();
+ }
+ }
+ return result;
}
}
Modified: trunk/core/src/main/java/org/infinispan/factories/DataContainerFactory.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/factories/DataContainerFactory.java 2010-05-03 09:22:06 UTC (rev 1734)
+++ trunk/core/src/main/java/org/infinispan/factories/DataContainerFactory.java 2010-05-03 19:15:11 UTC (rev 1735)
@@ -45,9 +45,9 @@
int level = configuration.getConcurrencyLevel();
switch (st) {
- case NONE:
- case UNORDERED:
+ case NONE:
return (T) DefaultDataContainer.unBoundedDataContainer(level);
+ case UNORDERED:
case LRU:
case FIFO:
case LIRS:
Modified: trunk/core/src/test/java/org/infinispan/eviction/BaseEvictionFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/eviction/BaseEvictionFunctionalTest.java 2010-05-03 09:22:06 UTC (rev 1734)
+++ trunk/core/src/test/java/org/infinispan/eviction/BaseEvictionFunctionalTest.java 2010-05-03 19:15:11 UTC (rev 1735)
@@ -1,15 +1,14 @@
package org.infinispan.eviction;
-import org.infinispan.Cache;
+import java.util.Random;
+import java.util.concurrent.CountDownLatch;
+
import org.infinispan.config.Configuration;
import org.infinispan.manager.CacheManager;
import org.infinispan.test.SingleCacheManagerTest;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.testng.annotations.Test;
-import java.util.Random;
-import java.util.concurrent.CountDownLatch;
-
@Test(groups = "functional", testName = "eviction.BaseEvictionFunctionalTest")
public abstract class BaseEvictionFunctionalTest extends SingleCacheManagerTest {
@@ -25,8 +24,8 @@
Configuration cfg = new Configuration();
cfg.setEvictionStrategy(getEvictionStrategy());
cfg.setEvictionWakeUpInterval(100);
- cfg.setEvictionMaxEntries(128); // 1 max entries
- cfg.setUseLockStriping(false); // to minimise chances of deadlock in the unit test
+ cfg.setEvictionMaxEntries(128); // 128 max entries
+ cfg.setUseLockStriping(false); // to minimize chances of deadlock in the unit test
CacheManager cm = TestCacheManagerFactory.createCacheManager(cfg);
cache = cm.getCache();
return cm;
Added: trunk/core/src/test/java/org/infinispan/eviction/LIRSEvictionFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/eviction/LIRSEvictionFunctionalTest.java (rev 0)
+++ trunk/core/src/test/java/org/infinispan/eviction/LIRSEvictionFunctionalTest.java 2010-05-03 19:15:11 UTC (rev 1735)
@@ -0,0 +1,11 @@
+package org.infinispan.eviction;
+
+import org.testng.annotations.Test;
+
+ at Test(groups = "functional", testName = "eviction.LIRSEvictionFunctionalTest")
+public class LIRSEvictionFunctionalTest extends BaseEvictionFunctionalTest {
+
+ protected EvictionStrategy getEvictionStrategy() {
+ return EvictionStrategy.LIRS;
+ }
+}
\ No newline at end of file
Added: trunk/core/src/test/java/org/infinispan/eviction/UNORDEREDEvictionFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/eviction/UNORDEREDEvictionFunctionalTest.java (rev 0)
+++ trunk/core/src/test/java/org/infinispan/eviction/UNORDEREDEvictionFunctionalTest.java 2010-05-03 19:15:11 UTC (rev 1735)
@@ -0,0 +1,11 @@
+package org.infinispan.eviction;
+
+import org.testng.annotations.Test;
+
+ at Test(groups = "functional", testName = "eviction.UNORDEREDEvictionFunctionalTest")
+public class UNORDEREDEvictionFunctionalTest extends BaseEvictionFunctionalTest {
+
+ protected EvictionStrategy getEvictionStrategy() {
+ return EvictionStrategy.UNORDERED;
+ }
+}
\ No newline at end of file
More information about the infinispan-commits
mailing list