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) {