[jbosscache-commits] JBoss Cache SVN: r7722 - in core/branches/3.0.X/src: test/java/org/jboss/cache/loader/testloaders and 2 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Wed Feb 18 07:05:27 EST 2009


Author: manik.surtani at jboss.com
Date: 2009-02-18 07:05:26 -0500 (Wed, 18 Feb 2009)
New Revision: 7722

Modified:
   core/branches/3.0.X/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java
   core/branches/3.0.X/src/test/java/org/jboss/cache/loader/testloaders/DummyInMemoryCacheLoader.java
   core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java
   core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/PassivationTest.java
   core/branches/3.0.X/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java
Log:
JBCACHE-1479 excessive cache loading and deadlocks

Modified: core/branches/3.0.X/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java
===================================================================
--- core/branches/3.0.X/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java	2009-02-18 10:33:00 UTC (rev 7721)
+++ core/branches/3.0.X/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java	2009-02-18 12:05:26 UTC (rev 7722)
@@ -250,6 +250,7 @@
 
             n = nodeFactory.createWrappedNode(in, parent.getDelegationTarget());
             n.setCreated(true);
+            n.setDataLoaded(true); // created here so we are loading it here
             context.putLookedUpNode(fqn, n);
             n.markForUpdate(dataContainer, writeSkewCheck);
          }

Modified: core/branches/3.0.X/src/test/java/org/jboss/cache/loader/testloaders/DummyInMemoryCacheLoader.java
===================================================================
--- core/branches/3.0.X/src/test/java/org/jboss/cache/loader/testloaders/DummyInMemoryCacheLoader.java	2009-02-18 10:33:00 UTC (rev 7721)
+++ core/branches/3.0.X/src/test/java/org/jboss/cache/loader/testloaders/DummyInMemoryCacheLoader.java	2009-02-18 12:05:26 UTC (rev 7722)
@@ -291,4 +291,12 @@
    {
       nodes.clear();
    }
+
+   public static class Cfg extends IndividualCacheLoaderConfig
+   {
+      public Cfg()
+      {
+         setClassName(DummyInMemoryCacheLoader.class.getName());
+      }
+   }
 }

Modified: core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java
===================================================================
--- core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java	2009-02-18 10:33:00 UTC (rev 7721)
+++ core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/CacheLoaderTest.java	2009-02-18 12:05:26 UTC (rev 7722)
@@ -44,8 +44,6 @@
       assertNotNull("Retrieval error: expected to retrieve " + CAPITAL + " for " + AUSTRIA, cache.get(AUSTRIA, CAPITAL));
       assertNull("Retrieval error: did not expect to retrieve " + AREA + " for " + AUSTRIA, cache.get(AUSTRIA, AREA));
 
-      load++;
-
       // verify statistics after retrieving entries - misses should still be same since nodes were already loaded
       assertEquals("CacheLoaderLoads count error: ", load, loader.getCacheLoaderLoads());
       assertEquals("CacheLoaderMisses count error: ", miss, loader.getCacheLoaderMisses());
@@ -104,7 +102,6 @@
 
       // add two attributes - this should cause two stores
       stores += 2;
-      load++;
       cache.put(POLAND, CAPITAL, "Warsaw");
       cache.put(POLAND, CURRENCY, "Zloty");
       assertEquals("CacheLoaderLoads count error: ", load, loader.getCacheLoaderLoads());

Modified: core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/PassivationTest.java
===================================================================
--- core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/PassivationTest.java	2009-02-18 10:33:00 UTC (rev 7721)
+++ core/branches/3.0.X/src/test/java/org/jboss/cache/mgmt/PassivationTest.java	2009-02-18 12:05:26 UTC (rev 7722)
@@ -52,8 +52,6 @@
       assertNotNull("Retrieval error: expected to retrieve " + CAPITAL + " for " + AUSTRIA, cache.get(AUSTRIA, CAPITAL));
       assertNull("Retrieval error: did not expect to retrieve " + AREA + " for " + AUSTRIA, cache.get(AUSTRIA, AREA));
 
-      miss++;
-
       // verify statistics after retrieving entries - no change since nodes were already loaded
       assertEquals("CacheLoaderLoads count error: ", 0, act.getCacheLoaderLoads());
       assertEquals("CacheLoaderMisses count error: ", miss, act.getCacheLoaderMisses());
@@ -82,7 +80,7 @@
       assertNotNull("Retrieval error: expected to retrieve " + CURRENCY + " for " + AUSTRIA, cache.get(AUSTRIA, CURRENCY));
 
       // verify statistics after retrieving evicted entry - loads and activations should now increment by 1
-      activations++;
+      activations+= 3;
       assertEquals("CacheLoaderLoads count error: ", 1, act.getCacheLoaderLoads());
       assertEquals("CacheLoaderMisses count error: ", miss, act.getCacheLoaderMisses());
       assertEquals("Activations count error: ", activations, act.getActivations());
@@ -113,7 +111,7 @@
       cache.put(POLAND, new HashMap<String, Object>());
       cache.put(POLAND, CAPITAL, "Warsaw");
       cache.put(POLAND, CURRENCY, "Zloty");
-      miss += 3;
+      miss ++;
       assertEquals("CacheLoaderLoads count error: ", 1, act.getCacheLoaderLoads());
       assertEquals("CacheLoaderMisses count error: ", miss, act.getCacheLoaderMisses());
       assertEquals("Activations count error: ", activations, act.getActivations());
@@ -127,7 +125,7 @@
       assertEquals("Passivations count error: ", 2, pass.getPassivations());
 
       // retrieve a valid attribute - this will cause an activation and a load
-      activations++;
+      activations+=3;
       assertNotNull("Retrieval error: expected to retrieve " + CURRENCY + " for " + POLAND, cache.get(POLAND, CURRENCY));
       assertEquals("CacheLoaderLoads count error: ", 2, act.getCacheLoaderLoads());
       assertEquals("CacheLoaderMisses count error: ", miss, act.getCacheLoaderMisses());
@@ -142,7 +140,7 @@
       assertEquals("Passivations count error: ", 3, pass.getPassivations());
 
       // retrieve an invalid attribute - this will cause an activation and a load
-      activations++;
+      activations+=3;
       assertNull("Retrieval error: did not expect to retrieve " + AREA + " for " + POLAND, cache.get(POLAND, AREA));
       assertEquals("CacheLoaderLoads count error: ", 3, act.getCacheLoaderLoads());
       assertEquals("CacheLoaderMisses count error: ", miss, act.getCacheLoaderMisses());

Modified: core/branches/3.0.X/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java
===================================================================
--- core/branches/3.0.X/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java	2009-02-18 10:33:00 UTC (rev 7721)
+++ core/branches/3.0.X/src/test/java/org/jboss/cache/passivation/PassivationTestsBase.java	2009-02-18 12:05:26 UTC (rev 7722)
@@ -655,7 +655,7 @@
       assertTrue(loader.exists(Fqn.fromString("/first/second")));
       assert (exists("/first"));
       String val = (String) cache.get("/first/second", "key1");
-      assertTrue(loader.exists(Fqn.fromString("/first/second")));
+      assertFalse(loader.exists(Fqn.fromString("/first/second")));
       assertEquals("val1", val);
       String val2 = (String) cache.get("/first/second/third", "key2");// activate node
       assertFalse(loader.exists(Fqn.fromString("/first/second/third")));




More information about the jbosscache-commits mailing list