Author: manik.surtani(a)jboss.com
Date: 2007-10-03 17:55:00 -0400 (Wed, 03 Oct 2007)
New Revision: 4535
Modified:
core/trunk/src/main/java/org/jboss/cache/RegionManager.java
Log:
Fixed stuff that was breaking buddy replication-based partial state transfers
Modified: core/trunk/src/main/java/org/jboss/cache/RegionManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionManager.java 2007-10-03 21:54:36 UTC
(rev 4534)
+++ core/trunk/src/main/java/org/jboss/cache/RegionManager.java 2007-10-03 21:55:00 UTC
(rev 4535)
@@ -376,13 +376,15 @@
{
// We'll update this node with the state we receive
// need to obtain all necessary locks.
+
cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(true);
subtreeRoot = cache.getRoot().addChild(fqn);
+
cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(false);
}
List<Address> members = cache.getMembers();
cache.fetchPartialState(members, subtreeRoot.getFqn());
}
- else
+ else if (!BuddyManager.isBackupFqn(fqn))
{
// Get the state from each DataOwner and integrate in their
// respective buddy backup cache
@@ -397,11 +399,18 @@
{
// We'll update this node with the state we receive
// need to obtain all necessary locks.
+ // needs to be a LOCAL call!
+
cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(true);
subtreeRoot = cache.getRoot().addChild(buddyRoot);
+
cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(false);
}
cache.fetchPartialState(sources, fqn, subtreeRoot.getFqn());
}
}
+ else
+ {
+ log.info("Attempting to activate a backup region. Not attempting to
retrieve any state as this will be pushed.");
+ }
}
catch (Throwable t)
{