[infinispan-commits] Infinispan SVN: r1746 - in trunk: core/src/main/java/org/infinispan/loaders and 2 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Thu May 6 07:42:19 EDT 2010
Author: manik.surtani at jboss.com
Date: 2010-05-06 07:42:19 -0400 (Thu, 06 May 2010)
New Revision: 1746
Modified:
trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java
trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java
trunk/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java
trunk/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStore.java
Log:
[ISPN-370] (clear the store before state transfer)
Modified: trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java
===================================================================
--- trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java 2010-05-06 11:34:56 UTC (rev 1745)
+++ trunk/cachestore/bdbje/src/main/java/org/infinispan/loaders/bdbje/BdbjeCacheStore.java 2010-05-06 11:42:19 UTC (rev 1746)
@@ -421,6 +421,7 @@
public void clear() throws CacheLoaderException {
try {
cacheMap.clear();
+ expiryMap.clear();
} catch (RuntimeException caught) {
throw convertToCacheLoaderException("error clearing store", caught);
}
@@ -472,8 +473,6 @@
public void fromStream(ObjectInput ois) throws CacheLoaderException {
try {
currentTransaction.beginTransaction(null);
- cacheMap.clear();
- expiryMap.clear();
for (Database db : new Database[]{cacheDb, expiryDb}) {
long recordCount = ois.readLong();
log.debug("clearing and reading {0} records from stream", recordCount);
Modified: trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java 2010-05-06 11:34:56 UTC (rev 1745)
+++ trunk/core/src/main/java/org/infinispan/loaders/LockSupportCacheStore.java 2010-05-06 11:42:19 UTC (rev 1746)
@@ -166,8 +166,6 @@
public final void fromStream(ObjectInput objectInput) throws CacheLoaderException {
try {
acquireGlobalLock(true);
- // first clear all local state
- clear();
fromStreamLockSafe(objectInput);
} finally {
releaseGlobalLock(true);
Modified: trunk/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java 2010-05-06 11:34:56 UTC (rev 1745)
+++ trunk/core/src/main/java/org/infinispan/statetransfer/StateTransferManagerImpl.java 2010-05-06 11:42:19 UTC (rev 1746)
@@ -309,6 +309,8 @@
boolean canProvideState = (Boolean) marshaller.objectFromObjectStream(oi);
if (canProvideState) {
assertDelimited(oi);
+ // First clear the cache store!!
+ if (cs != null) cs.clear();
if (transientState) applyInMemoryState(oi);
assertDelimited(oi);
if (persistentState) applyPersistentState(oi);
Modified: trunk/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStore.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStore.java 2010-05-06 11:34:56 UTC (rev 1745)
+++ trunk/core/src/test/java/org/infinispan/loaders/dummy/DummyInMemoryCacheStore.java 2010-05-06 11:42:19 UTC (rev 1746)
@@ -41,7 +41,6 @@
public void fromStream(ObjectInput ois) throws CacheLoaderException {
try {
int numEntries = (Integer) marshaller.objectFromObjectStream(ois);
- store.clear();
for (int i = 0; i < numEntries; i++) {
InternalCacheEntry e = (InternalCacheEntry) marshaller.objectFromObjectStream(ois);
if (trace) log.trace("Store {0} from stream in dummy store@{1}", e, Integer.toHexString(System.identityHashCode(store)));
More information about the infinispan-commits
mailing list