[jbosscache-commits] JBoss Cache SVN: r7693 - core/trunk/src/main/java/org/jboss/cache/statetransfer.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Fri Feb 13 14:06:48 EST 2009
Author: jason.greene at jboss.com
Date: 2009-02-13 14:06:47 -0500 (Fri, 13 Feb 2009)
New Revision: 7693
Modified:
core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java
Log:
Ensure that a state receiver can not also be a sender
Modified: core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java 2009-02-13 19:06:16 UTC (rev 7692)
+++ core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java 2009-02-13 19:06:47 UTC (rev 7693)
@@ -88,7 +88,8 @@
public void getState(ObjectOutputStream out, Fqn fqn, long timeout, boolean force, boolean suppressErrors) throws Exception
{
// can't give state for regions currently being activated/inactivated
- boolean canProvideState = (!regionManager.isInactive(fqn) && cache.peek(fqn, false) != null);
+ boolean canProvideState = cache.getCacheStatus().allowInvocations()
+ && !regionManager.isInactive(fqn) && cache.peek(fqn, false) != null;
if (trace) log.trace("Can provide state? " + canProvideState);
if (canProvideState && (fetchPersistentState || fetchTransientState))
{
@@ -113,6 +114,9 @@
{
String exceptionMessage = "Cache instance at " + cache.getLocalAddress() + " cannot provide state for fqn " + fqn + ".";
+ if (!cache.getCacheStatus().allowInvocations())
+ exceptionMessage = " [Cache is not in the correct status]";
+
if (regionManager.isInactive(fqn))
{
exceptionMessage += " Region for fqn " + fqn + " is inactive.";
More information about the jbosscache-commits
mailing list