[jbosscache-commits] JBoss Cache SVN: r4611 - core/trunk/src/main/java/org/jboss/cache.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Fri Oct 12 13:46:47 EDT 2007


Author: manik.surtani at jboss.com
Date: 2007-10-12 13:46:47 -0400 (Fri, 12 Oct 2007)
New Revision: 4611

Modified:
   core/trunk/src/main/java/org/jboss/cache/CacheImpl.java
Log:
JBCACHE-1192 - cannot gravitate data only stored in a cache loader

Modified: core/trunk/src/main/java/org/jboss/cache/CacheImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/CacheImpl.java	2007-10-12 17:22:14 UTC (rev 4610)
+++ core/trunk/src/main/java/org/jboss/cache/CacheImpl.java	2007-10-12 17:46:47 UTC (rev 4611)
@@ -2914,10 +2914,15 @@
       {
          ctx.setOriginLocal(false);
 
-         NodeSPI<K, V> actualNode = findNode(fqn);
+         // use a get() call into the cache to make sure cache loading takes place.
+         ctx.getOptionOverrides().setSkipDataGravitation(true);
+         Node<K, V> actualNode = get(fqn);
+         ctx.getOptionOverrides().setSkipDataGravitation(false);
+
          Fqn backupNodeFqn = null;
          if (actualNode == null && searchSubtrees)
          {
+
             NodeSPI backupSubtree = findNode(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN);
             if (backupSubtree != null)
             {
@@ -2930,7 +2935,12 @@
                      // childName is the name of a buddy group since all child names in this
                      // collection are direct children of BUDDY_BACKUP_SUBTREE_FQN
                      backupNodeFqn = BuddyManager.getBackupFqn(childName.toString(), fqn);
-                     actualNode = findNode(backupNodeFqn);
+
+                     // use a get() call into the cache to make sure cache loading takes place.
+                     ctx.getOptionOverrides().setSkipDataGravitation(true);
+                     actualNode = get(backupNodeFqn);
+                     ctx.getOptionOverrides().setSkipDataGravitation(false);
+
                      if (actualNode != null) break;
                   }
                }
@@ -2957,7 +2967,7 @@
             backupNodeFqn = BuddyManager.getBackupFqn(BuddyManager.getGroupNameFromAddress(getLocalAddress()), fqn);
          }
 
-         List<NodeData> list = getNodeData(new LinkedList<NodeData>(), actualNode);
+         List<NodeData> list = getNodeData(new LinkedList<NodeData>(), (NodeSPI<K, V>) actualNode);
 
          return GravitateResult.subtreeResult(list, backupNodeFqn);
       }




More information about the jbosscache-commits mailing list