[infinispan-commits] Infinispan SVN: r2296 - in branches/4.1.x/core/src/main/java/org/infinispan: statetransfer and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu Sep 2 05:22:58 EDT 2010


Author: manik.surtani at jboss.com
Date: 2010-09-02 05:22:58 -0400 (Thu, 02 Sep 2010)
New Revision: 2296

Modified:
   branches/4.1.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java
   branches/4.1.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java
Log:
[ISPN-610] (Apply isStateTransferEnabled attribute to consumer only)

Modified: branches/4.1.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java
===================================================================
--- branches/4.1.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java	2010-09-02 09:03:37 UTC (rev 2295)
+++ branches/4.1.x/core/src/main/java/org/infinispan/factories/StateTransferManagerFactory.java	2010-09-02 09:22:58 UTC (rev 2296)
@@ -34,7 +34,7 @@
 @DefaultFactoryFor(classes = StateTransferManager.class)
 public class StateTransferManagerFactory extends AbstractNamedCacheComponentFactory implements AutoInstantiableFactory {
    public <T> T construct(Class<T> componentType) {
-      if (configuration.getCacheMode().isClustered() && configuration.isStateTransferEnabled())
+      if (configuration.getCacheMode().isClustered() && !configuration.getCacheMode().isDistributed())
          return componentType.cast(new StateTransferManagerImpl());
       else
          return null;

Modified: branches/4.1.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java
===================================================================
--- branches/4.1.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java	2010-09-02 09:03:37 UTC (rev 2295)
+++ branches/4.1.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java	2010-09-02 09:22:58 UTC (rev 2296)
@@ -114,17 +114,19 @@
       transientState = configuration.isFetchInMemoryState();
       persistentState = cs != null && clm.isEnabled() && clm.isFetchPersistentState() && !clm.isShared();
 
-      long startTime = 0;
-      if (log.isDebugEnabled()) {
-         log.debug("Initiating state transfer process");
-         startTime = System.currentTimeMillis();
-      }
+      if (transientState || persistentState) {
+         long startTime = 0;
+            if (log.isDebugEnabled()) {
+            log.debug("Initiating state transfer process");
+            startTime = System.currentTimeMillis();
+         }
 
-      rpcManager.retrieveState(cache.getName(), configuration.getStateRetrievalTimeout());
+         rpcManager.retrieveState(cache.getName(), configuration.getStateRetrievalTimeout());
 
-      if (log.isDebugEnabled()) {
-         long duration = System.currentTimeMillis() - startTime;
-         log.debug("State transfer process completed in {0}", Util.prettyPrintTime(duration));
+         if (log.isDebugEnabled()) {
+            long duration = System.currentTimeMillis() - startTime;
+            log.debug("State transfer process completed in {0}", Util.prettyPrintTime(duration));
+         }
       }
    }
 
@@ -141,8 +143,7 @@
       ObjectOutput oo = null;
       boolean txLogActivated = false;
       try {
-         boolean canProvideState = (transientState || persistentState)
-               && (txLogActivated = transactionLog.activate());
+         boolean canProvideState = (txLogActivated = transactionLog.activate());
          if (log.isDebugEnabled()) log.debug("Generating state.  Can provide? {0}", canProvideState);
          oo = marshaller.startObjectOutput(out, false);
 
@@ -152,7 +153,7 @@
 
          if (canProvideState) {
             delimit(oo);
-            if (transientState) generateInMemoryState(oo);
+            generateInMemoryState(oo); // always provide in-memory state if requested.  ISPN-610.
             delimit(oo);
             if (persistentState) generatePersistentState(oo);
             delimit(oo);



More information about the infinispan-commits mailing list