[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