IGNITE-8503 Fix wrong GridCacheMapEntry startVersion initialization. - Fixes #4141.
Signed-off-by: Dmitriy Pavlov <dpav...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2dca70dc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2dca70dc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2dca70dc Branch: refs/heads/ignite-8446 Commit: 2dca70dc135e1b3820c84e0e0ec788434d75c9c6 Parents: 417d31d Author: Andrey V. Mashenkov <andrey.mashen...@gmail.com> Authored: Fri Jun 22 17:19:48 2018 +0300 Committer: Dmitriy Pavlov <dpav...@apache.org> Committed: Fri Jun 22 17:19:48 2018 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheEntryEx.java | 5 ----- .../processors/cache/GridCacheMapEntry.java | 19 ++++--------------- .../cache/version/GridCacheVersionManager.java | 3 +++ .../processors/cache/GridCacheTestEntryEx.java | 5 ----- 4 files changed, 7 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2dca70dc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java index 6cddb2d..fc374bb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java @@ -99,11 +99,6 @@ public interface GridCacheEntryEx { public int partition(); /** - * @return Start version. - */ - public long startVersion(); - - /** * @return Key. */ public KeyCacheObject key(); http://git-wip-us.apache.org/repos/asf/ignite/blob/2dca70dc/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 767c314..faf4460 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 @@ -61,6 +61,7 @@ import org.apache.ignite.internal.processors.cache.version.GridCacheLazyPlainVer import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; import org.apache.ignite.internal.processors.cache.version.GridCacheVersionConflictContext; import org.apache.ignite.internal.processors.cache.version.GridCacheVersionEx; +import org.apache.ignite.internal.processors.cache.version.GridCacheVersionManager; import org.apache.ignite.internal.processors.cache.version.GridCacheVersionedEntryEx; import org.apache.ignite.internal.processors.dr.GridDrType; import org.apache.ignite.internal.processors.query.schema.SchemaIndexCacheFilter; @@ -141,10 +142,6 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme @GridToStringInclude protected CacheObject val; - /** Start version. */ - @GridToStringInclude - protected final long startVer; - /** Version. */ @GridToStringInclude protected GridCacheVersion ver; @@ -190,14 +187,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme this.hash = key.hashCode(); this.cctx = cctx; - ver = cctx.versions().next(); - - startVer = ver.order(); - } - - /** {@inheritDoc} */ - @Override public long startVersion() { - return startVer; + ver = GridCacheVersionManager.START_VER; } /** @@ -302,7 +292,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme * @return {@code True} if start version. */ public boolean isStartVersion() { - return ver.nodeOrder() == cctx.localNode().order() && ver.order() == startVer; + return ver == GridCacheVersionManager.START_VER; } /** {@inheritDoc} */ @@ -2734,8 +2724,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme GridCacheVersion currentVer = row != null ? row.version() : GridCacheMapEntry.this.ver; - boolean isStartVer = currentVer.nodeOrder() == cctx.localNode().order() - && currentVer.order() == startVer; + boolean isStartVer = currentVer == GridCacheVersionManager.START_VER; if (cctx.group().persistenceEnabled()) { if (!isStartVer) { http://git-wip-us.apache.org/repos/asf/ignite/blob/2dca70dc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java index 269925d..df8af48 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java @@ -41,6 +41,9 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter { /** */ public static final GridCacheVersion EVICT_VER = new GridCacheVersion(Integer.MAX_VALUE, 0, 0, 0); + /** */ + public static final GridCacheVersion START_VER = new GridCacheVersion(0, 0, 0, 0); + /** Timestamp used as base time for cache topology version (January 1, 2014). */ public static final long TOP_VER_BASE_TIME = 1388520000000L; http://git-wip-us.apache.org/repos/asf/ignite/blob/2dca70dc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java index e40700d..daf96c4 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java @@ -854,11 +854,6 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr } /** {@inheritDoc} */ - @Override public long startVersion() { - return 0; - } - - /** {@inheritDoc} */ @Nullable @Override public CacheObject peek(boolean heap, boolean offheap, AffinityTopologyVersion topVer,