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 2018/10/22 15:17:03 UTC
[11/14] ignite git commit: IGNITE-9945 Entry start version should not
omit datacenter ID - Fixes #5034.
IGNITE-9945 Entry start version should not omit datacenter ID - Fixes #5034.
Signed-off-by: Alexey Goncharuk <al...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4353618a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4353618a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4353618a
Branch: refs/heads/ignite-9720
Commit: 4353618a7501e2dada6b0027cadc2b9c6b069fde
Parents: ebaedf9
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Mon Oct 22 16:01:28 2018 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Mon Oct 22 16:01:28 2018 +0300
----------------------------------------------------------------------
.../cache/CacheConflictResolutionManager.java | 2 +-
.../processors/cache/GridCacheMapEntry.java | 9 ++----
.../cache/version/GridCacheVersionManager.java | 31 ++++++++++++++++++--
3 files changed, 32 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/4353618a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheConflictResolutionManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheConflictResolutionManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheConflictResolutionManager.java
index 6d65d82..9790f75 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheConflictResolutionManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheConflictResolutionManager.java
@@ -17,7 +17,7 @@
package org.apache.ignite.internal.processors.cache;
-import org.apache.ignite.internal.processors.cache.version.*;
+import org.apache.ignite.internal.processors.cache.version.CacheVersionConflictResolver;
/**
* Conflict resolver manager.
http://git-wip-us.apache.org/repos/asf/ignite/blob/4353618a/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 ab5b725..c753296 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
@@ -73,7 +73,6 @@ 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.IgniteSQLException;
@@ -117,10 +116,8 @@ import static org.apache.ignite.internal.processors.cache.GridCacheUpdateAtomicR
import static org.apache.ignite.internal.processors.cache.GridCacheUpdateAtomicResult.UpdateOutcome.REMOVE_NO_VAL;
import static org.apache.ignite.internal.processors.cache.mvcc.MvccUtils.compareIgnoreOpCounter;
import static org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.RowData.NO_KEY;
-import static org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode.CONCURRENT_UPDATE;
import static org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode.DUPLICATE_KEY;
import static org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode.TRANSACTION_SERIALIZATION_ERROR;
-import static org.apache.ignite.internal.processors.dr.GridDrType.DR_BACKUP;
import static org.apache.ignite.internal.processors.dr.GridDrType.DR_NONE;
/**
@@ -222,7 +219,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
this.cctx = cctx;
this.listenerLock = cctx.continuousQueries().getListenerReadLock();
- ver = GridCacheVersionManager.START_VER;
+ ver = cctx.shared().versions().startVersion();
}
/**
@@ -332,7 +329,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
* @return {@code True} if start version.
*/
public boolean isStartVersion() {
- return ver == GridCacheVersionManager.START_VER;
+ return cctx.shared().versions().isStartVersion(ver);
}
/** {@inheritDoc} */
@@ -3287,7 +3284,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
GridCacheVersion currentVer = row != null ? row.version() : GridCacheMapEntry.this.ver;
- boolean isStartVer = currentVer == GridCacheVersionManager.START_VER;
+ boolean isStartVer = cctx.shared().versions().isStartVersion(currentVer);
if (cctx.group().persistenceEnabled()) {
if (!isStartVer) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/4353618a/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 df8af48..2a6526a 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,9 +41,6 @@ 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;
@@ -56,6 +53,9 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
/** Current order for store operations. */
private final AtomicLong loadOrder = new AtomicLong(0);
+ /** Entry start version. */
+ private GridCacheVersion startVer;
+
/** Last version. */
private volatile GridCacheVersion last;
@@ -87,6 +87,8 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
@Override public void start0() throws IgniteCheckedException {
last = new GridCacheVersion(0, order.get(), 0, dataCenterId);
+ startVer = new GridCacheVersion(0, 0, 0, dataCenterId);
+
cctx.gridEvents().addLocalEventListener(discoLsnr, EVT_NODE_METRICS_UPDATED);
}
@@ -104,6 +106,8 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
this.dataCenterId = dataCenterId;
last = new GridCacheVersion(0, order.get(), 0, dataCenterId);
+
+ startVer = new GridCacheVersion(0, 0, 0, dataCenterId);
}
/**
@@ -301,4 +305,25 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
public GridCacheVersion last() {
return last;
}
+
+ /**
+ * Gets start version.
+ *
+ * @return Start version.
+ */
+ public GridCacheVersion startVersion() {
+ assert startVer != null;
+
+ return startVer;
+ }
+
+ /**
+ * Check if given version is start version.
+ *
+ * @param ver Version.
+ * @return {@code True} if given version is start version.
+ */
+ public boolean isStartVersion(GridCacheVersion ver) {
+ return startVer.equals(ver);
+ }
}