[infinispan-commits] Infinispan SVN: r218 - trunk/core/src/main/java/org/infinispan/eviction.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Wed May 6 11:51:52 EDT 2009


Author: manik.surtani at jboss.com
Date: 2009-05-06 11:51:51 -0400 (Wed, 06 May 2009)
New Revision: 218

Modified:
   trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java
Log:
Added better logging

Modified: trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java	2009-05-06 15:51:37 UTC (rev 217)
+++ trunk/core/src/main/java/org/infinispan/eviction/EvictionManagerImpl.java	2009-05-06 15:51:51 UTC (rev 218)
@@ -12,6 +12,7 @@
 import org.infinispan.factories.annotations.Stop;
 import org.infinispan.loaders.CacheLoaderManager;
 import org.infinispan.loaders.CacheStore;
+import org.infinispan.util.Util;
 import org.infinispan.util.logging.Log;
 import org.infinispan.util.logging.LogFactory;
 
@@ -65,17 +66,28 @@
    }
 
    public void processEviction() {
+      long start = 0;
       try {
-         if (trace) log.trace("Purging data container of expired entries");
+         if (trace) {
+            log.trace("Purging data container of expired entries");
+            start = System.currentTimeMillis();
+         }
          dataContainer.purgeExpired();
+         if (trace)
+            log.trace("Purging data container completed in {0}", Util.prettyPrintTime(System.currentTimeMillis() - start));
       } catch (Exception e) {
          log.warn("Caught exception purging data container!", e);
       }
 
       if (cacheStore != null) {
          try {
-            if (trace) log.trace("Purging cache store of expired entries");
+            if (trace) {
+               log.trace("Purging cache store of expired entries");
+               start = System.currentTimeMillis();
+            }
             cacheStore.purgeExpired();
+            if (trace)
+               log.trace("Purging cache store completed in {0}", Util.prettyPrintTime(System.currentTimeMillis() - start));
          } catch (Exception e) {
             log.warn("Caught exception purging cache store!", e);
          }
@@ -84,16 +96,27 @@
       // finally iterate through data container if too big
       int dcsz = dataContainer.size();
       if (dcsz > maxEntries) {
-         if (trace) log.trace("Data container is larger than maxEntries, size is {0}.  Evicting...", dcsz);
+         if (trace) {
+            log.trace("Data container is larger than maxEntries, size is {0}.  Evicting...", dcsz);
+            start = System.currentTimeMillis();
+         }
          for (InternalCacheEntry ice : dataContainer) {
-            dcsz = dataContainer.size();
-            if (dcsz > maxEntries) {
-               cache.evict(ice.getKey());
-            } else {
-               if (trace) log.trace("Evicted enough entries");
-               break;
+            Object k = ice.getKey();
+            try {
+               dcsz = dataContainer.size();
+               if (dcsz > maxEntries) {
+                  if (trace) log.trace("Attempting to evict key [{0}]", k);
+                  cache.evict(k);
+               } else {
+                  if (trace) log.trace("Evicted enough entries");
+                  break;
+               }
+            } catch (Exception e) {
+               log.warn("Caught exception when iterating through data container.  Current entry is under key [{0}]", e, k);
             }
          }
+         if (trace)
+            log.trace("Eviction process completed in {0}", Util.prettyPrintTime(System.currentTimeMillis() - start));
       } else {
          if (trace) log.trace("Data container is smaller than or equal to the maxEntries; not doing anything");
       }




More information about the infinispan-commits mailing list