[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