You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/06/10 13:42:54 UTC

ignite git commit: ignite-3299

Repository: ignite
Updated Branches:
  refs/heads/ignite-3299 [created] 6743e50dd


ignite-3299


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6743e50d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6743e50d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6743e50d

Branch: refs/heads/ignite-3299
Commit: 6743e50dd9f7fddc7f591ab04b24ec3bb76ea985
Parents: 10bbc36
Author: sboikov <sb...@gridgain.com>
Authored: Fri Jun 10 16:26:19 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Jun 10 16:42:30 2016 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/cache/GridCacheMapEntry.java  | 8 +++++---
 .../org/apache/ignite/testsuites/IgniteCacheTestSuite5.java  | 4 +++-
 2 files changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6743e50d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index 12bd556..2d74749 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@ -2620,7 +2620,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
                     oldVal = cctx.toCacheObject(cctx.unwrapTemporary(interceptRes.get2()));
             }
 
-            if (op != GridCacheOperation.UPDATE && cctx.offheapTiered() && hasValPtr) {
+            if (op != GridCacheOperation.UPDATE && cctx.offheapTiered() && hadVal) {
                 boolean rmv = cctx.swap().removeOffheap(key);
 
                 if (log.isTraceEnabled()) {
@@ -2631,7 +2631,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
                         ']');
                 }
 
-                assert rmv;
+                assert rmv || !hasValPtr;
             }
         }
 
@@ -4177,7 +4177,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
 
                     CacheObject prev = saveOldValueUnlocked(false);
 
-                    if (!hasReaders() && markObsolete0(obsoleteVer, false, null)) {
+                    if (!deletedUnlocked() && !hasReaders() && markObsolete0(obsoleteVer, false, null)) {
                         if (swap) {
                             if (!isStartVersion()) {
                                 try {
@@ -4292,6 +4292,8 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
                         ']');
                 }
 
+                assert !deletedUnlocked();
+
                 cctx.swap().removeOffheap(key());
 
                 value(prevVal);

http://git-wip-us.apache.org/repos/asf/ignite/blob/6743e50d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
index a263c0d..c875f3d 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
@@ -20,14 +20,15 @@ package org.apache.ignite.testsuites;
 import junit.framework.TestSuite;
 import org.apache.ignite.internal.processors.cache.CacheNearReaderUpdateTest;
 import org.apache.ignite.internal.processors.cache.CacheSerializableTransactionsTest;
-import org.apache.ignite.internal.processors.cache.GridCacheSwapSpaceSpiConsistencySelfTest;
 import org.apache.ignite.internal.processors.cache.EntryVersionConsistencyReadThroughTest;
+import org.apache.ignite.internal.processors.cache.GridCacheSwapSpaceSpiConsistencySelfTest;
 import org.apache.ignite.internal.processors.cache.IgniteCachePutStackOverflowSelfTest;
 import org.apache.ignite.internal.processors.cache.IgniteCacheReadThroughEvictionsVariationsSuite;
 import org.apache.ignite.internal.processors.cache.IgniteCacheStoreCollectionTest;
 import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentFairAffinityTest;
 import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentNodeJoinValidationTest;
 import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentTest;
+import org.apache.ignite.internal.processors.cache.distributed.dht.IgniteCacheConcurrentPutGetRemove;
 import org.apache.ignite.internal.processors.cache.store.IgniteCacheWriteBehindNoUpdateSelfTest;
 
 /**
@@ -52,6 +53,7 @@ public class IgniteCacheTestSuite5 extends TestSuite {
         suite.addTestSuite(CacheLateAffinityAssignmentFairAffinityTest.class);
         suite.addTestSuite(CacheLateAffinityAssignmentNodeJoinValidationTest.class);
         suite.addTestSuite(EntryVersionConsistencyReadThroughTest.class);
+        suite.addTestSuite(IgniteCacheConcurrentPutGetRemove.class);
 
         suite.addTest(IgniteCacheReadThroughEvictionsVariationsSuite.suite());