[infinispan-commits] Infinispan SVN: r548 - in trunk/core/src: main/java/org/infinispan/loaders/bucket and 1 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Fri Jul 10 11:57:40 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-07-10 11:57:40 -0400 (Fri, 10 Jul 2009)
New Revision: 548
Modified:
trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java
trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java
trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java
trunk/core/src/test/java/org/infinispan/distribution/AsyncAPISyncDistTest.java
Log:
Suggestions from code review
Modified: trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java 2009-07-10 14:26:40 UTC (rev 547)
+++ trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java 2009-07-10 15:57:40 UTC (rev 548)
@@ -16,6 +16,7 @@
import org.infinispan.util.logging.Log;
import org.infinispan.util.logging.LogFactory;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
@@ -35,6 +36,7 @@
CacheStore cacheStore;
boolean enabled;
int maxEntries;
+ volatile CountDownLatch startLatch = new CountDownLatch(1);
@Inject
public void initialize(@ComponentName(KnownComponentNames.EVICTION_SCHEDULED_EXECUTOR) ScheduledExecutorService executor,
@@ -63,9 +65,18 @@
configuration.getEvictionWakeUpInterval(), TimeUnit.MILLISECONDS);
}
}
+ startLatch.countDown();
}
public void processEviction() {
+ try {
+ startLatch.await();
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
+
+ if (!enabled) return;
+
long start = 0;
try {
if (trace) {
@@ -128,6 +139,7 @@
@Stop(priority = 5)
public void stop() {
+ startLatch = new CountDownLatch(1);
if (evictionTask != null) evictionTask.cancel(true);
}
Modified: trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java 2009-07-10 14:26:40 UTC (rev 547)
+++ trunk/core/src/main/java/org/infinispan/loaders/bucket/BucketBasedCacheStore.java 2009-07-10 15:57:40 UTC (rev 548)
@@ -31,7 +31,11 @@
Bucket bucket = loadBucket(lockingKey);
if (bucket == null) return null;
InternalCacheEntry se = bucket.getEntry(key);
+
if (se != null && se.isExpired()) {
+ // We do not actually remove expired items from the store here. We leave that up to the implementation,
+ // since it may be a costly thing (remote connection, row locking on a JDBC store for example) for a
+ // supposedly quick load operation.
return null;
} else {
return se;
Modified: trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java 2009-07-10 14:26:40 UTC (rev 547)
+++ trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java 2009-07-10 15:57:40 UTC (rev 548)
@@ -3,9 +3,10 @@
import org.infinispan.commands.write.WriteCommand;
import org.infinispan.test.AbstractCacheTest;
import org.infinispan.test.ReplListener;
-import org.testng.annotations.Test;
- at Test(groups = "functional", testName = "distribution.AsyncAPIAsyncDistTest", enabled = false)
+// For some reason I had to comment this out to ensure the test was disabled!
+
+//@Test(groups = "functional", testName = "distribution.AsyncAPIAsyncDistTest", enabled = false)
public class AsyncAPIAsyncDistTest extends AsyncAPISyncDistTest {
ReplListener rl;
Modified: trunk/core/src/test/java/org/infinispan/distribution/AsyncAPISyncDistTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/AsyncAPISyncDistTest.java 2009-07-10 14:26:40 UTC (rev 547)
+++ trunk/core/src/test/java/org/infinispan/distribution/AsyncAPISyncDistTest.java 2009-07-10 15:57:40 UTC (rev 548)
@@ -7,11 +7,12 @@
import org.infinispan.test.data.Key;
import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
import org.infinispan.util.Util;
-import org.testng.annotations.Test;
import java.util.List;
- at Test(groups = "functional", testName = "distribution.AsyncAPISyncDistTest", enabled = false)
+// For some reason I had to comment this out to ensure the test was disabled!
+
+//@Test(groups = "functional", testName = "distribution.AsyncAPISyncDistTest", enabled = false)
public class AsyncAPISyncDistTest extends AsyncAPISyncReplTest {
@SuppressWarnings("unchecked")
More information about the infinispan-commits
mailing list