[infinispan-commits] Infinispan SVN: r2304 - in branches/4.1.x/core/src: main/java/org/infinispan/statetransfer and 2 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu Sep 2 06:21:46 EDT 2010


Author: manik.surtani at jboss.com
Date: 2010-09-02 06:21:45 -0400 (Thu, 02 Sep 2010)
New Revision: 2304

Modified:
   branches/4.1.x/core/src/main/java/org/infinispan/config/Configuration.java
   branches/4.1.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java
   branches/4.1.x/core/src/main/resources/config-samples/all.xml
   branches/4.1.x/core/src/test/resources/configs/named-cache-test.xml
   branches/4.1.x/core/src/test/resources/configs/no-flush.xml
   branches/4.1.x/core/src/test/resources/configs/string-property-replaced.xml
Log:
[ISPN-610] (Apply isStateTransferEnabled attribute to consumer only) - new config attrib

Modified: branches/4.1.x/core/src/main/java/org/infinispan/config/Configuration.java
===================================================================
--- branches/4.1.x/core/src/main/java/org/infinispan/config/Configuration.java	2010-09-02 09:57:31 UTC (rev 2303)
+++ branches/4.1.x/core/src/main/java/org/infinispan/config/Configuration.java	2010-09-02 10:21:45 UTC (rev 2304)
@@ -280,6 +280,10 @@
       this.clustering.stateRetrieval.setFetchInMemoryState(fetchInMemoryState);
    }
 
+   public void setAlwaysProvideInMemoryState(boolean alwaysProvideInMemoryState) {
+      this.clustering.stateRetrieval.setAlwaysProvideInMemoryState(alwaysProvideInMemoryState);
+   }
+
    public void setLockAcquisitionTimeout(long lockAcquisitionTimeout) {
       locking.setLockAcquisitionTimeout(lockAcquisitionTimeout);
    }
@@ -552,6 +556,11 @@
       return clustering.stateRetrieval.fetchInMemoryState;
    }
 
+   public boolean isAlwaysProvideInMemoryState() {
+      return clustering.stateRetrieval.alwaysProvideInMemoryState;
+   }
+
+
    public long getLockAcquisitionTimeout() {
       return locking.lockAcquisitionTimeout;
    }
@@ -773,7 +782,7 @@
    public boolean isOnePhaseCommit() {
       return !getCacheMode().isSynchronous();
    }
-   
+
    /**
     * 
     * @configRef name="transaction",desc="Defines transactional (JTA) characteristics of the cache."
@@ -1392,6 +1401,12 @@
       @Dynamic
       protected Boolean fetchInMemoryState = false;
 
+      /**
+       * @configRef desc="If true, this will allow the cache to provide in-memory state to a neighbor, even if the
+       *                  cache is not configured to fetch state from its neighbors (fetchInMemoryState is false).
+       */
+      protected Boolean alwaysProvideInMemoryState = false;
+
       /** @configRef desc="This is the maximum amount of time - in milliseconds - to wait for state from neighboring 
        *             caches, before throwing an exception and aborting startup. " */
       @Dynamic      
@@ -1413,6 +1428,12 @@
       }
 
       @XmlAttribute
+      public void setAlwaysProvideInMemoryState(Boolean alwaysProvideInMemoryState) {
+         testImmutability("alwaysProvideInMemoryState");
+         this.alwaysProvideInMemoryState = alwaysProvideInMemoryState;
+      }
+
+      @XmlAttribute
       public void setInitialRetryWaitTime(Long initialRetryWaitTime) {
          testImmutability("initialWaitTime");
          this.initialRetryWaitTime = initialRetryWaitTime;

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:57:31 UTC (rev 2303)
+++ branches/4.1.x/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java	2010-09-02 10:21:45 UTC (rev 2304)
@@ -83,7 +83,7 @@
    private static final boolean trace = log.isTraceEnabled();
    private static final Byte DELIMITER = (byte) 123;
 
-   boolean transientState, persistentState;
+   boolean transientState, persistentState, alwaysProvideTransientState;
    volatile boolean needToUnblockRPC = false;
    volatile Address stateSender;
 
@@ -112,6 +112,7 @@
       log.trace("Data container is {0}", System.identityHashCode(dataContainer));
       cs = clm == null ? null : clm.getCacheStore();
       transientState = configuration.isFetchInMemoryState();
+      alwaysProvideTransientState = configuration.isAlwaysProvideInMemoryState();
       persistentState = cs != null && clm.isEnabled() && clm.isFetchPersistentState() && !clm.isShared();
 
       if (transientState || persistentState) {
@@ -153,7 +154,7 @@
 
          if (canProvideState) {
             delimit(oo);
-            generateInMemoryState(oo); // always provide in-memory state if requested.  ISPN-610.
+            if (transientState || alwaysProvideTransientState) generateInMemoryState(oo); // always provide in-memory state if requested.  ISPN-610.
             delimit(oo);
             if (persistentState) generatePersistentState(oo);
             delimit(oo);

Modified: branches/4.1.x/core/src/main/resources/config-samples/all.xml
===================================================================
--- branches/4.1.x/core/src/main/resources/config-samples/all.xml	2010-09-02 09:57:31 UTC (rev 2303)
+++ branches/4.1.x/core/src/main/resources/config-samples/all.xml	2010-09-02 10:21:45 UTC (rev 2304)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <infinispan
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
-      xmlns="urn:infinispan:config:4.0">
+      xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+      xmlns="urn:infinispan:config:4.1">
 
    <!-- *************************** -->
    <!-- System-wide global settings -->
@@ -104,7 +104,7 @@
          <!--
             Defines whether to retrieve state on startup
          -->
-         <stateRetrieval timeout="20000" fetchInMemoryState="false"/>
+         <stateRetrieval timeout="20000" fetchInMemoryState="false" alwaysProvideInMemoryState="false"/>
 
          <!--
             Network calls are synchronous.

Modified: branches/4.1.x/core/src/test/resources/configs/named-cache-test.xml
===================================================================
--- branches/4.1.x/core/src/test/resources/configs/named-cache-test.xml	2010-09-02 09:57:31 UTC (rev 2303)
+++ branches/4.1.x/core/src/test/resources/configs/named-cache-test.xml	2010-09-02 10:21:45 UTC (rev 2304)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <infinispan
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
-      xmlns="urn:infinispan:config:4.0">
+      xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+      xmlns="urn:infinispan:config:4.1">
 
    <global>
 

Modified: branches/4.1.x/core/src/test/resources/configs/no-flush.xml
===================================================================
--- branches/4.1.x/core/src/test/resources/configs/no-flush.xml	2010-09-02 09:57:31 UTC (rev 2303)
+++ branches/4.1.x/core/src/test/resources/configs/no-flush.xml	2010-09-02 10:21:45 UTC (rev 2304)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <infinispan
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
-      xmlns="urn:infinispan:config:4.0">
+      xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+      xmlns="urn:infinispan:config:4.1">
 
    <!-- *************************** -->
    <!-- System-wide global settings -->

Modified: branches/4.1.x/core/src/test/resources/configs/string-property-replaced.xml
===================================================================
--- branches/4.1.x/core/src/test/resources/configs/string-property-replaced.xml	2010-09-02 09:57:31 UTC (rev 2303)
+++ branches/4.1.x/core/src/test/resources/configs/string-property-replaced.xml	2010-09-02 10:21:45 UTC (rev 2304)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <infinispan
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
-      xmlns="urn:infinispan:config:4.0">
+      xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+      xmlns="urn:infinispan:config:4.1">
 
    <!-- *************************** -->
    <!-- System-wide global settings -->



More information about the infinispan-commits mailing list