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 2019/08/01 06:43:47 UTC

[ignite] branch ignite-11704 updated: ignite-11704

This is an automated email from the ASF dual-hosted git repository.

sboikov pushed a commit to branch ignite-11704
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/ignite-11704 by this push:
     new 1da9dc3  ignite-11704
1da9dc3 is described below

commit 1da9dc31b51718f595334a32e60e11f571676dd5
Author: sboikov <sb...@apache.org>
AuthorDate: Thu Aug 1 09:43:33 2019 +0300

    ignite-11704
---
 .../ignite/internal/processors/cache/CacheGroupContext.java       | 2 +-
 .../apache/ignite/internal/processors/cache/GridCacheContext.java | 8 ++++++--
 .../ignite/internal/processors/cache/GridCacheMapEntry.java       | 3 +++
 .../internal/processors/cache/IgniteCacheOffheapManagerImpl.java  | 2 ++
 .../cache/distributed/dht/topology/GridDhtLocalPartition.java     | 2 --
 5 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java
index 3a7a445..c2cba6b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java
@@ -1296,7 +1296,7 @@ public class CacheGroupContext {
      * @return {@code True} if need create temporary tombstones entries for removed data.
      */
     public boolean supportsTombstone() {
-        return !sharedGroup() && !hasAtomicCaches && !mvccEnabled && !isLocal();
+        return !mvccEnabled && !isLocal();
     }
 
     /**
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index 959095c..4c51981 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -625,8 +625,12 @@ public class GridCacheContext<K, V> implements Externalizable {
     public void cache(GridCacheAdapter<K, V> cache) {
         this.cache = cache;
 
-        deferredDel = !grp.supportsTombstone() && (cache.isDht() || cache.isDhtAtomic() || cache.isColocated() ||
-            (cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC));
+        if (grp.supportsTombstone() && cache.configuration().getAtomicityMode() == TRANSACTIONAL)
+            deferredDel = false;
+        else {
+            deferredDel = (cache.isDht() || cache.isDhtAtomic() || cache.isColocated() ||
+                (cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC));
+        }
     }
 
     /**
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 1133085..db066b6 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
@@ -4505,6 +4505,9 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
 
             CacheDataRow row = cctx.offheap().read(this);
 
+            if (cctx.offheap().isTombstone(row))
+                return;
+
             if (row != null && (filter == null || filter.apply(row)))
                 clo.apply(row);
         }
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index 1f3a22d..9d15358 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -628,6 +628,8 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager
         GridCacheVersion ver,
         GridDhtLocalPartition part) throws IgniteCheckedException {
         assert part != null;
+        assert !cctx.isNear();
+        assert !cctx.isLocal();
 
         dataStore(part).removeWithTombstone(cctx, key, ver, part);
     }
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java
index d9b34c6..f098e99 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtLocalPartition.java
@@ -1174,8 +1174,6 @@ public class GridDhtLocalPartition extends GridCacheConcurrentMapImpl implements
 
                             cached.removeTombstone(row.version());
 
-                            cached.touch();
-
                             break;
                         }
                         catch (GridCacheEntryRemovedException e) {