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/07/31 20:50:04 UTC
[ignite] branch ignite-11704-1 created (now 2394c56)
This is an automated email from the ASF dual-hosted git repository.
sboikov pushed a change to branch ignite-11704-1
in repository https://gitbox.apache.org/repos/asf/ignite.git.
at 2394c56 ignite-11704
This branch includes the following new commits:
new 2394c56 ignite-11704
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[ignite] 01/01: ignite-11704
Posted by sb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sboikov pushed a commit to branch ignite-11704-1
in repository https://gitbox.apache.org/repos/asf/ignite.git
commit 2394c5653782027ca9998a80a06942f9cf0b97b9
Author: sboikov <sb...@apache.org>
AuthorDate: Wed Jul 31 23:48:51 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) {