[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