You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/04/13 15:34:54 UTC
[24/39] ignite git commit: Remove GridClockSyncProcessor and related
code removed.
Remove GridClockSyncProcessor and related code removed.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9b02f81f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9b02f81f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9b02f81f
Branch: refs/heads/ignite-4587
Commit: 9b02f81f2e9d21ad2c2ad4e5fe4efd52545f59fb
Parents: 6265f33
Author: Max Kozlov <dr...@gmail.com>
Authored: Tue Mar 7 14:45:24 2017 +0300
Committer: Max Kozlov <dr...@gmail.com>
Committed: Tue Mar 7 14:45:24 2017 +0300
----------------------------------------------------------------------
.../org/apache/ignite/cache/CacheEntry.java | 11 -
.../ignite/internal/GridKernalContext.java | 8 -
.../ignite/internal/GridKernalContextImpl.java | 12 -
.../apache/ignite/internal/IgniteKernal.java | 2 -
.../processors/cache/CacheEntryImplEx.java | 8 +-
.../cache/GridCacheAtomicVersionComparator.java | 21 +-
.../processors/cache/GridCacheMapEntry.java | 1 -
.../processors/cache/GridCacheMvcc.java | 23 +-
.../processors/cache/GridCacheUtils.java | 1 -
.../cache/transactions/IgniteTxManager.java | 2 +-
.../version/GridCachePlainVersionedEntry.java | 5 -
.../version/GridCacheRawVersionedEntry.java | 5 -
.../cache/version/GridCacheVersion.java | 37 +-
.../cache/version/GridCacheVersionEx.java | 11 +-
.../cache/version/GridCacheVersionManager.java | 9 +-
.../cache/version/GridCacheVersionedEntry.java | 7 -
.../processors/clock/GridClockServer.java | 6 -
.../clock/GridClockSyncProcessor.java | 481 -------------------
.../ignite/internal/util/IgniteUtils.java | 30 +-
.../cache/GridCacheMvccFlagsTest.java | 4 +-
.../cache/GridCacheMvccPartitionedSelfTest.java | 2 +-
.../processors/cache/GridCacheMvccSelfTest.java | 8 +-
.../processors/cache/GridCacheTestEntryEx.java | 2 +-
.../cache/GridCacheVersionSelfTest.java | 4 +-
.../CacheVersionedEntryAbstractTest.java | 2 -
.../clock/GridTimeSyncProcessorSelfTest.java | 224 ---------
26 files changed, 43 insertions(+), 883 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java
index 19585a3..90f30a2 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java
@@ -82,15 +82,4 @@ public interface CacheEntry<K, V> extends Cache.Entry<K, V> {
* @return Version of this cache entry.
*/
public Comparable version();
-
- /**
- * Returns the time when the cache entry for the given key has been updated or initially created.
- * <p>
- * It is valid to compare cache entries' update time for the same key. In this case the latter update will
- * be represented by higher update time. The result of update time comparison of cache entries of different keys is
- * undefined.
- *
- * @return Time in milliseconds.
- */
- public long updateTime();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
index 00696c7..1c39f9a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
@@ -37,7 +37,6 @@ import org.apache.ignite.internal.processors.affinity.GridAffinityProcessor;
import org.apache.ignite.internal.processors.cache.GridCacheProcessor;
import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor;
import org.apache.ignite.internal.processors.clock.GridClockSource;
-import org.apache.ignite.internal.processors.clock.GridClockSyncProcessor;
import org.apache.ignite.internal.processors.closure.GridClosureProcessor;
import org.apache.ignite.internal.processors.cluster.ClusterProcessor;
import org.apache.ignite.internal.processors.continuous.GridContinuousProcessor;
@@ -178,13 +177,6 @@ public interface GridKernalContext extends Iterable<GridComponent> {
public GridTimeoutProcessor timeout();
/**
- * Gets time processor.
- *
- * @return Time processor.
- */
- public GridClockSyncProcessor clockSync();
-
- /**
* Gets resource processor.
*
* @return Resource processor.
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index e80ec6b..24bb97a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@ -52,7 +52,6 @@ import org.apache.ignite.internal.processors.cache.GridCacheProcessor;
import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor;
import org.apache.ignite.internal.processors.clock.GridClockSource;
-import org.apache.ignite.internal.processors.clock.GridClockSyncProcessor;
import org.apache.ignite.internal.processors.clock.GridJvmClockSource;
import org.apache.ignite.internal.processors.closure.GridClosureProcessor;
import org.apache.ignite.internal.processors.cluster.ClusterProcessor;
@@ -186,10 +185,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable
/** */
@GridToStringInclude
- private GridClockSyncProcessor clockSyncProc;
-
- /** */
- @GridToStringInclude
private GridResourceProcessor rsrcProc;
/** */
@@ -514,8 +509,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable
jobProc = (GridJobProcessor)comp;
else if (comp instanceof GridTimeoutProcessor)
timeProc = (GridTimeoutProcessor)comp;
- else if (comp instanceof GridClockSyncProcessor)
- clockSyncProc = (GridClockSyncProcessor)comp;
else if (comp instanceof GridResourceProcessor)
rsrcProc = (GridResourceProcessor)comp;
else if (comp instanceof GridJobMetricsProcessor)
@@ -637,11 +630,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable
}
/** {@inheritDoc} */
- @Override public GridClockSyncProcessor clockSync() {
- return clockSyncProc;
- }
-
- /** {@inheritDoc} */
@Override public GridResourceProcessor resource() {
return rsrcProc;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index cdbe2e3..77ba212 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -108,7 +108,6 @@ import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor;
-import org.apache.ignite.internal.processors.clock.GridClockSyncProcessor;
import org.apache.ignite.internal.processors.closure.GridClosureProcessor;
import org.apache.ignite.internal.processors.cluster.ClusterProcessor;
import org.apache.ignite.internal.processors.continuous.GridContinuousProcessor;
@@ -891,7 +890,6 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
// Start processors before discovery manager, so they will
// be able to start receiving messages once discovery completes.
startProcessor(createComponent(DiscoveryNodeValidationProcessor.class, ctx));
- startProcessor(new GridClockSyncProcessor(ctx));
startProcessor(new GridAffinityProcessor(ctx));
startProcessor(createComponent(GridSegmentationProcessor.class, ctx));
startProcessor(createComponent(IgniteCacheObjectProcessor.class, ctx));
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java
index af926c6..664b216 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java
@@ -70,11 +70,6 @@ public class CacheEntryImplEx<K, V> extends CacheEntryImpl<K, V> implements Cach
}
/** {@inheritDoc} */
- @Override public long updateTime() {
- return ver.globalTime();
- }
-
- /** {@inheritDoc} */
@Override public void writeExternal(ObjectOutput out) throws IOException {
super.writeExternal(out);
@@ -96,8 +91,7 @@ public class CacheEntryImplEx<K, V> extends CacheEntryImpl<K, V> implements Cach
if (ver != null && ver != GET_ENTRY_INVALID_VER_AFTER_GET && ver != GET_ENTRY_INVALID_VER_UPDATED) {
res += ", topVer=" + ver.topologyVersion() +
", nodeOrder=" + ver.nodeOrder() +
- ", order=" + ver.order() +
- ", updateTime=" + ver.globalTime();
+ ", order=" + ver.order();
}
else
res += ", ver=n/a";
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java
index 08a5b28..ac0abec 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java
@@ -36,24 +36,17 @@ public class GridCacheAtomicVersionComparator {
int otherTopVer = other.topologyVersion();
if (topVer == otherTopVer) {
- long globalTime = one.globalTime();
- long otherGlobalTime = other.globalTime();
+ long locOrder = one.order();
+ long otherLocOrder = other.order();
- if (globalTime == otherGlobalTime || ignoreTime) {
- long locOrder = one.order();
- long otherLocOrder = other.order();
+ if (locOrder == otherLocOrder) {
+ int nodeOrder = one.nodeOrder();
+ int otherNodeOrder = other.nodeOrder();
- if (locOrder == otherLocOrder) {
- int nodeOrder = one.nodeOrder();
- int otherNodeOrder = other.nodeOrder();
-
- return nodeOrder == otherNodeOrder ? 0 : nodeOrder < otherNodeOrder ? -1 : 1;
- }
- else
- return locOrder > otherLocOrder ? 1 : -1;
+ return nodeOrder == otherNodeOrder ? 0 : nodeOrder < otherNodeOrder ? -1 : 1;
}
else
- return globalTime > otherGlobalTime ? 1 : -1;
+ return locOrder > otherLocOrder ? 1 : -1;
}
else
return topVer > otherTopVer ? 1 : -1;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/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 c33b60d..68d171c 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
@@ -2384,7 +2384,6 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
// Incorporate conflict version into new version if needed.
if (conflictVer != null && conflictVer != newVer)
newVer = new GridCacheVersionEx(newVer.topologyVersion(),
- newVer.globalTime(),
newVer.order(),
newVer.nodeOrder(),
newVer.dataCenterId(),
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java
index 498584c..28cc8fb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java
@@ -57,26 +57,19 @@ public final class GridCacheMvcc {
/** */
private static final Comparator<GridCacheVersion> SER_VER_COMPARATOR = new Comparator<GridCacheVersion>() {
@Override public int compare(GridCacheVersion ver1, GridCacheVersion ver2) {
- long time1 = ver1.globalTime();
- long time2 = ver2.globalTime();
+ int nodeOrder1 = ver1.nodeOrder();
+ int nodeOrder2 = ver2.nodeOrder();
- if (time1 == time2) {
- int nodeOrder1 = ver1.nodeOrder();
- int nodeOrder2 = ver2.nodeOrder();
+ if (nodeOrder1 == nodeOrder2) {
+ long order1 = ver1.order();
+ long order2 = ver2.order();
- if (nodeOrder1 == nodeOrder2) {
- long order1 = ver1.order();
- long order2 = ver2.order();
+ assert order1 != order2;
- assert order1 != order2;
-
- return order1 > order2 ? 1 : -1;
- }
- else
- return nodeOrder1 > nodeOrder2 ? 1 : -1;
+ return order1 > order2 ? 1 : -1;
}
else
- return time1 > time2 ? 1 : -1;
+ return nodeOrder1 > nodeOrder2 ? 1 : -1;
}
};
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index 1c59390..6b235dd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -984,7 +984,6 @@ public class GridCacheUtils {
byte[] bytes = new byte[28];
U.intToBytes(ver.topologyVersion(), bytes, 0);
- U.longToBytes(ver.globalTime(), bytes, 4);
U.longToBytes(ver.order(), bytes, 12);
U.intToBytes(ver.nodeOrderAndDrIdRaw(), bytes, 20);
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
index a1a18fe..2f12a1c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
@@ -2426,7 +2426,7 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter {
* @param nearVer Near transaction version.
*/
private CommittedVersion(GridCacheVersion ver, GridCacheVersion nearVer) {
- super(ver.topologyVersion(), ver.globalTime(), ver.order(), ver.nodeOrder(), ver.dataCenterId());
+ super(ver.topologyVersion(), ver.order(), ver.nodeOrder(), ver.dataCenterId());
assert nearVer != null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java
index c175e5a..f4d7e08 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java
@@ -110,11 +110,6 @@ public class GridCachePlainVersionedEntry<K, V> implements GridCacheVersionedEnt
}
/** {@inheritDoc} */
- @Override public long globalTime() {
- return isStartVer ? 0L : ver.globalTime();
- }
-
- /** {@inheritDoc} */
@Override public GridCacheVersion version() {
return ver;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java
index b7c96b4..7513935 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java
@@ -170,11 +170,6 @@ public class GridCacheRawVersionedEntry<K, V> extends DataStreamerEntry implemen
}
/** {@inheritDoc} */
- @Override public long globalTime() {
- return ver.globalTime();
- }
-
- /** {@inheritDoc} */
@Override public GridCacheVersion version() {
return ver;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
index ccc17e5..f191c64 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
@@ -50,9 +50,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
/** Node order (used as global order) and DR ID. */
private int nodeOrderDrId;
- /** Globally adjusted time. */
- private long globalTime;
-
/** Order. */
private long order;
@@ -65,12 +62,11 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
/**
* @param topVer Topology version plus number of seconds from the start time of the first grid node.
- * @param globalTime Globally adjusted time.
* @param order Version order.
* @param nodeOrder Node order.
* @param dataCenterId Replication data center ID.
*/
- public GridCacheVersion(int topVer, long globalTime, long order, int nodeOrder, int dataCenterId) {
+ public GridCacheVersion(int topVer, long order, int nodeOrder, int dataCenterId) {
assert topVer >= 0 : topVer;
assert order >= 0 : order;
assert nodeOrder >= 0 : nodeOrder;
@@ -80,7 +76,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
throw new IllegalArgumentException("Node order overflow: " + nodeOrder);
this.topVer = topVer;
- this.globalTime = globalTime;
this.order = order;
nodeOrderDrId = nodeOrder | (dataCenterId << DR_ID_SHIFT);
@@ -90,13 +85,11 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
/**
* @param topVer Topology version plus number of seconds from the start time of the first grid node.
* @param nodeOrderDrId Node order and DR ID.
- * @param globalTime Globally adjusted time.
* @param order Version order.
*/
- public GridCacheVersion(int topVer, int nodeOrderDrId, long globalTime, long order) {
+ public GridCacheVersion(int topVer, int nodeOrderDrId, long order) {
this.topVer = topVer;
this.nodeOrderDrId = nodeOrderDrId;
- this.globalTime = globalTime;
this.order = order;
}
@@ -117,13 +110,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
}
/**
- * @return Adjusted time.
- */
- public long globalTime() {
- return globalTime;
- }
-
- /**
* @return Version order.
*/
public long order() {
@@ -187,7 +173,7 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
* @return Version represented as {@code GridUuid}
*/
public IgniteUuid asGridUuid() {
- return new IgniteUuid(new UUID(((long)topVer << 32) | nodeOrderDrId, globalTime), order);
+ return new IgniteUuid(new UUID(nodeOrderDrId << 32, topVer << 32), order);
}
/** {@inheritDoc} */
@@ -198,7 +184,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
/** {@inheritDoc} */
@Override public void writeExternal(ObjectOutput out) throws IOException {
out.writeInt(topVer);
- out.writeLong(globalTime);
out.writeLong(order);
out.writeInt(nodeOrderDrId);
}
@@ -206,7 +191,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
/** {@inheritDoc} */
@Override public void readExternal(ObjectInput in) throws IOException {
topVer = in.readInt();
- globalTime = in.readLong();
order = in.readLong();
nodeOrderDrId = in.readInt();
}
@@ -263,12 +247,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
}
switch (writer.state()) {
- case 0:
- if (!writer.writeLong("globalTime", globalTime))
- return false;
-
- writer.incrementState();
-
case 1:
if (!writer.writeInt("nodeOrderDrId", nodeOrderDrId))
return false;
@@ -300,14 +278,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
return false;
switch (reader.state()) {
- case 0:
- globalTime = reader.readLong("globalTime");
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
case 1:
nodeOrderDrId = reader.readInt("nodeOrderDrId");
@@ -350,7 +320,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>,
/** {@inheritDoc} */
@Override public String toString() {
return "GridCacheVersion [topVer=" + topologyVersion() +
- ", time=" + globalTime() +
", order=" + order() +
", nodeOrder=" + nodeOrder() + ']';
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
index c89b941..e376366 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
@@ -46,15 +46,14 @@ public class GridCacheVersionEx extends GridCacheVersion {
* Constructor.
*
* @param topVer Topology version.
- * @param globalTime Global time.
* @param order Order.
* @param nodeOrder Node order.
* @param dataCenterId Data center ID.
* @param drVer DR version.
*/
- public GridCacheVersionEx(int topVer, long globalTime, long order, int nodeOrder, byte dataCenterId,
+ public GridCacheVersionEx(int topVer, long order, int nodeOrder, byte dataCenterId,
GridCacheVersion drVer) {
- super(topVer, globalTime, order, nodeOrder, dataCenterId);
+ super(topVer, order, nodeOrder, dataCenterId);
assert drVer != null && !(drVer instanceof GridCacheVersionEx); // DR version can only be plain here.
@@ -66,12 +65,11 @@ public class GridCacheVersionEx extends GridCacheVersion {
*
* @param topVer Topology version.
* @param nodeOrderDrId Node order and DR ID.
- * @param globalTime Globally adjusted time.
* @param order Version order.
* @param drVer DR version.
*/
- public GridCacheVersionEx(int topVer, int nodeOrderDrId, long globalTime, long order, GridCacheVersion drVer) {
- super(topVer, nodeOrderDrId, globalTime, order);
+ public GridCacheVersionEx(int topVer, int nodeOrderDrId, long order, GridCacheVersion drVer) {
+ super(topVer, nodeOrderDrId, order);
assert drVer != null && !(drVer instanceof GridCacheVersionEx); // DR version can only be plain here.
@@ -162,7 +160,6 @@ public class GridCacheVersionEx extends GridCacheVersion {
/** {@inheritDoc} */
@Override public String toString() {
return "GridCacheVersionEx [topVer=" + topologyVersion() +
- ", time=" + globalTime() +
", order=" + order() +
", nodeOrder=" + nodeOrder() +
", drVer=" + drVer + ']';
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/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 5a8904f..15a7d2a 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
@@ -79,7 +79,7 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
/** {@inheritDoc} */
@Override public void start0() throws IgniteCheckedException {
- last = new GridCacheVersion(0, 0, order.get(), 0, dataCenterId);
+ last = new GridCacheVersion(0, order.get(), 0, dataCenterId);
cctx.gridEvents().addLocalEventListener(discoLsnr, EVT_NODE_METRICS_UPDATED);
}
@@ -103,7 +103,7 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
public void dataCenterId(byte dataCenterId) {
this.dataCenterId = dataCenterId;
- last = new GridCacheVersion(0, 0, order.get(), 0, dataCenterId);
+ last = new GridCacheVersion(0, order.get(), 0, dataCenterId);
}
/**
@@ -185,7 +185,7 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
topVer += (gridStartTime - TOP_VER_BASE_TIME) / 1000;
- ISOLATED_STREAMER_VER = new GridCacheVersion((int)topVer, 0, 0, 1, dataCenterId);
+ ISOLATED_STREAMER_VER = new GridCacheVersion((int)topVer, 0, 1, dataCenterId);
}
return ISOLATED_STREAMER_VER;
@@ -271,8 +271,6 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
if (topVer == -1)
topVer = cctx.kernalContext().discovery().topologyVersion();
- long globalTime = cctx.kernalContext().clockSync().adjustedTime(topVer);
-
if (addTime) {
if (gridStartTime == 0)
gridStartTime = cctx.kernalContext().discovery().gridStartTime();
@@ -286,7 +284,6 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter {
GridCacheVersion next = new GridCacheVersion(
(int)topVer,
- globalTime,
ord,
locNodeOrder,
dataCenterId);
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java
index 06e7999..e685d79 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java
@@ -71,11 +71,4 @@ public interface GridCacheVersionedEntry<K, V> {
* @return Entry's order in initiator data center
*/
public long order();
-
- /**
- * Gets entry's global time in initiator data center.
- *
- * @return Entry's global time in initiator data center
- */
- public long globalTime();
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java
index 8daef31..a736a37 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockServer.java
@@ -47,9 +47,6 @@ public class GridClockServer {
/** Read worker. */
private GridWorker readWorker;
- /** Instance of time processor. */
- private GridClockSyncProcessor clockSync;
-
/**
* Starts server.
*
@@ -59,7 +56,6 @@ public class GridClockServer {
public void start(GridKernalContext ctx) throws IgniteCheckedException {
this.ctx = ctx;
- clockSync = ctx.clockSync();
log = ctx.log(GridClockServer.class);
try {
@@ -205,8 +201,6 @@ public class GridClockServer {
GridClockMessage msg = GridClockMessage.fromBytes(packet.getData(), packet.getOffset(),
packet.getLength());
-
- clockSync.onMessageReceived(msg, packet.getAddress(), packet.getPort());
}
catch (IgniteCheckedException e) {
U.warn(log, "Failed to assemble clock server message (will ignore the packet) [host=" +
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockSyncProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockSyncProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockSyncProcessor.java
deleted file mode 100644
index 257d0d9..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/clock/GridClockSyncProcessor.java
+++ /dev/null
@@ -1,481 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.clock;
-
-import java.net.InetAddress;
-import java.util.Collection;
-import java.util.Map;
-import java.util.NavigableMap;
-import java.util.UUID;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.events.DiscoveryEvent;
-import org.apache.ignite.events.Event;
-import org.apache.ignite.events.EventType;
-import org.apache.ignite.internal.GridKernalContext;
-import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.managers.communication.GridMessageListener;
-import org.apache.ignite.internal.managers.discovery.GridDiscoveryTopologySnapshot;
-import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
-import org.apache.ignite.internal.processors.GridProcessorAdapter;
-import org.apache.ignite.internal.util.GridBoundedConcurrentOrderedMap;
-import org.apache.ignite.internal.util.GridSpinReadWriteLock;
-import org.apache.ignite.internal.util.typedef.T2;
-import org.apache.ignite.internal.util.typedef.internal.LT;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.util.worker.GridWorker;
-import org.apache.ignite.thread.IgniteThread;
-
-import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
-import static org.apache.ignite.events.EventType.EVT_NODE_JOINED;
-import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
-import static org.apache.ignite.internal.GridTopic.TOPIC_TIME_SYNC;
-import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_TIME_SERVER_HOST;
-import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_TIME_SERVER_PORT;
-import static org.apache.ignite.internal.managers.communication.GridIoPolicy.SYSTEM_POOL;
-
-/**
- * Time synchronization processor.
- */
-public class GridClockSyncProcessor extends GridProcessorAdapter {
- /** Maximum size for time sync history. */
- private static final int MAX_TIME_SYNC_HISTORY = 100;
-
- /** Time server instance. */
- private GridClockServer srv;
-
- /** Shutdown lock. */
- private GridSpinReadWriteLock rw = new GridSpinReadWriteLock();
-
- /** Stopping flag. */
- private volatile boolean stopping;
-
- /** Time coordinator thread. */
- private volatile TimeCoordinator timeCoord;
-
- /** Time delta history. Constructed on coordinator. */
- private NavigableMap<GridClockDeltaVersion, GridClockDeltaSnapshot> timeSyncHist =
- new GridBoundedConcurrentOrderedMap<>(MAX_TIME_SYNC_HISTORY);
-
- /** Last recorded. */
- private volatile T2<GridClockDeltaVersion, GridClockDeltaSnapshot> lastSnapshot;
-
- /** Time source. */
- private GridClockSource clockSrc;
-
- /**
- * @param ctx Kernal context.
- */
- public GridClockSyncProcessor(GridKernalContext ctx) {
- super(ctx);
- }
-
- /** {@inheritDoc} */
- @Override public void start() throws IgniteCheckedException {
- super.start();
-
- clockSrc = ctx.timeSource();
-
- srv = new GridClockServer();
-
- srv.start(ctx);
-
- ctx.io().addMessageListener(TOPIC_TIME_SYNC, new GridMessageListener() {
- @Override public void onMessage(UUID nodeId, Object msg) {
- assert msg instanceof GridClockDeltaSnapshotMessage;
-
- GridClockDeltaSnapshotMessage msg0 = (GridClockDeltaSnapshotMessage)msg;
-
- GridClockDeltaVersion ver = msg0.snapshotVersion();
-
- GridClockDeltaSnapshot snap = new GridClockDeltaSnapshot(ver, msg0.deltas());
-
- lastSnapshot = new T2<>(ver, snap);
-
- timeSyncHist.put(ver, snap);
- }
- });
-
- // We care only about node leave and fail events.
- ctx.event().addLocalEventListener(new GridLocalEventListener() {
- @Override public void onEvent(Event evt) {
- assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED || evt.type() == EVT_NODE_JOINED;
-
- DiscoveryEvent discoEvt = (DiscoveryEvent)evt;
-
- if (evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED)
- checkLaunchCoordinator(discoEvt);
-
- TimeCoordinator timeCoord0 = timeCoord;
-
- if (timeCoord0 != null)
- timeCoord0.onDiscoveryEvent(discoEvt);
- }
- }, EVT_NODE_LEFT, EVT_NODE_FAILED, EVT_NODE_JOINED);
-
- ctx.addNodeAttribute(ATTR_TIME_SERVER_HOST, srv.host());
- ctx.addNodeAttribute(ATTR_TIME_SERVER_PORT, srv.port());
- }
-
- /** {@inheritDoc} */
- @Override public void onKernalStart() throws IgniteCheckedException {
- super.onKernalStart();
-
- srv.afterStart();
-
- // Check at startup if this node is a fragmentizer coordinator.
- DiscoveryEvent locJoinEvt = ctx.discovery().localJoinEvent();
-
- checkLaunchCoordinator(locJoinEvt);
- }
-
- /** {@inheritDoc} */
- @Override public void onKernalStop(boolean cancel) {
- super.onKernalStop(cancel);
-
- rw.writeLock();
-
- try {
- stopping = false;
-
- if (timeCoord != null) {
- timeCoord.cancel();
-
- U.join(timeCoord, log);
-
- timeCoord = null;
- }
-
- if (srv != null)
- srv.beforeStop();
- }
- finally {
- rw.writeUnlock();
- }
- }
-
- /** {@inheritDoc} */
- @Override public void stop(boolean cancel) throws IgniteCheckedException {
- super.stop(cancel);
-
- if (srv != null)
- srv.stop();
- }
-
- /**
- * Gets current time on local node.
- *
- * @return Current time in milliseconds.
- */
- private long currentTime() {
- return clockSrc.currentTimeMillis();
- }
-
- /**
- * @return Time sync history.
- */
- public NavigableMap<GridClockDeltaVersion, GridClockDeltaSnapshot> timeSyncHistory() {
- return timeSyncHist;
- }
-
- /**
- * Callback from server for message receiving.
- *
- * @param msg Received message.
- * @param addr Remote node address.
- * @param port Remote node port.
- */
- public void onMessageReceived(GridClockMessage msg, InetAddress addr, int port) {
- long rcvTs = currentTime();
-
- if (!msg.originatingNodeId().equals(ctx.localNodeId())) {
- // We received time request from remote node, set current time and reply back.
- msg.replyTimestamp(rcvTs);
-
- try {
- srv.sendPacket(msg, addr, port);
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to send time server reply to remote node: " + msg, e);
- }
- }
- else
- timeCoord.onMessage(msg, rcvTs);
- }
-
- /**
- * Checks if local node is the oldest node in topology and starts time coordinator if so.
- *
- * @param discoEvt Discovery event.
- */
- private void checkLaunchCoordinator(DiscoveryEvent discoEvt) {
- rw.readLock();
-
- try {
- if (stopping)
- return;
-
- if (timeCoord == null) {
- long minNodeOrder = Long.MAX_VALUE;
-
- Collection<ClusterNode> nodes = discoEvt.topologyNodes();
-
- for (ClusterNode node : nodes) {
- if (node.order() < minNodeOrder)
- minNodeOrder = node.order();
- }
-
- ClusterNode locNode = ctx.discovery().localNode();
-
- if (locNode.order() == minNodeOrder) {
- if (log.isDebugEnabled())
- log.debug("Detected local node to be the eldest node in topology, starting time " +
- "coordinator thread [discoEvt=" + discoEvt + ", locNode=" + locNode + ']');
-
- synchronized (this) {
- if (timeCoord == null && !stopping) {
- timeCoord = new TimeCoordinator(discoEvt);
-
- IgniteThread th = new IgniteThread(timeCoord);
-
- th.setPriority(Thread.MAX_PRIORITY);
-
- th.start();
- }
- }
- }
- }
- }
- finally {
- rw.readUnlock();
- }
- }
-
- /**
- * Gets time adjusted with time coordinator on given topology version.
- *
- * @param topVer Topology version.
- * @return Adjusted time.
- */
- public long adjustedTime(long topVer) {
- T2<GridClockDeltaVersion, GridClockDeltaSnapshot> fastSnap = lastSnapshot;
-
- GridClockDeltaSnapshot snap;
-
- if (fastSnap != null && fastSnap.get1().topologyVersion() == topVer)
- snap = fastSnap.get2();
- else {
- // Get last synchronized time on given topology version.
- Map.Entry<GridClockDeltaVersion, GridClockDeltaSnapshot> entry = timeSyncHistory().lowerEntry(
- new GridClockDeltaVersion(0, topVer + 1));
-
- snap = entry == null ? null : entry.getValue();
- }
-
- long now = clockSrc.currentTimeMillis();
-
- if (snap == null)
- return now;
-
- Long delta = snap.deltas().get(ctx.localNodeId());
-
- if (delta == null)
- delta = 0L;
-
- return now + delta;
- }
-
- /**
- * Publishes snapshot to topology.
- *
- * @param snapshot Snapshot to publish.
- * @param top Topology to send given snapshot to.
- */
- private void publish(GridClockDeltaSnapshot snapshot, GridDiscoveryTopologySnapshot top) {
- if (!rw.tryReadLock())
- return;
-
- try {
- lastSnapshot = new T2<>(snapshot.version(), snapshot);
-
- timeSyncHist.put(snapshot.version(), snapshot);
-
- for (ClusterNode n : top.topologyNodes()) {
- GridClockDeltaSnapshotMessage msg = new GridClockDeltaSnapshotMessage(
- snapshot.version(), snapshot.deltas());
-
- try {
- ctx.io().send(n, TOPIC_TIME_SYNC, msg, SYSTEM_POOL);
- }
- catch (IgniteCheckedException e) {
- if (ctx.discovery().pingNodeNoError(n.id()))
- U.error(log, "Failed to send time sync snapshot to remote node (did not leave grid?) " +
- "[nodeId=" + n.id() + ", msg=" + msg + ", err=" + e.getMessage() + ']');
- else if (log.isDebugEnabled())
- log.debug("Failed to send time sync snapshot to remote node (did not leave grid?) " +
- "[nodeId=" + n.id() + ", msg=" + msg + ", err=" + e.getMessage() + ']');
- }
- }
- }
- finally {
- rw.readUnlock();
- }
- }
-
- /**
- * Time coordinator thread.
- */
- private class TimeCoordinator extends GridWorker {
- /** Last discovery topology snapshot. */
- private volatile GridDiscoveryTopologySnapshot lastSnapshot;
-
- /** Snapshot being constructed. May be not null only on coordinator node. */
- private volatile GridClockDeltaSnapshot pendingSnapshot;
-
- /** Version counter. */
- private long verCnt = 1;
-
- /**
- * Time coordinator thread constructor.
- *
- * @param evt Discovery event on which this node became a coordinator.
- */
- protected TimeCoordinator(DiscoveryEvent evt) {
- super(ctx.gridName(), "grid-time-coordinator", GridClockSyncProcessor.this.log);
-
- lastSnapshot = new GridDiscoveryTopologySnapshot(evt.topologyVersion(), evt.topologyNodes());
- }
-
- /** {@inheritDoc} */
- @Override protected void body() throws InterruptedException, IgniteInterruptedCheckedException {
- while (!isCancelled()) {
- GridDiscoveryTopologySnapshot top = lastSnapshot;
-
- if (log.isDebugEnabled())
- log.debug("Creating time sync snapshot for topology: " + top);
-
- GridClockDeltaSnapshot snapshot = new GridClockDeltaSnapshot(
- new GridClockDeltaVersion(verCnt++, top.topologyVersion()),
- ctx.localNodeId(),
- top,
- ctx.config().getClockSyncSamples());
-
- pendingSnapshot = snapshot;
-
- while (!snapshot.ready()) {
- if (log.isDebugEnabled())
- log.debug("Requesting time from remote nodes: " + snapshot.pendingNodeIds());
-
- for (UUID nodeId : snapshot.pendingNodeIds())
- requestTime(nodeId);
-
- if (log.isDebugEnabled())
- log.debug("Waiting for snapshot to be ready: " + snapshot);
-
- // Wait for all replies
- snapshot.awaitReady(1000);
- }
-
- // No more messages should be processed.
- pendingSnapshot = null;
-
- if (log.isDebugEnabled())
- log.debug("Collected time sync results: " + snapshot.deltas());
-
- publish(snapshot, top);
-
- synchronized (this) {
- if (top.topologyVersion() == lastSnapshot.topologyVersion())
- wait(ctx.config().getClockSyncFrequency());
- }
- }
- }
-
- /**
- * @param evt Discovery event.
- */
- public void onDiscoveryEvent(DiscoveryEvent evt) {
- if (log.isDebugEnabled())
- log.debug("Processing discovery event: " + evt);
-
- if (evt.type() == EventType.EVT_NODE_FAILED || evt.type() == EVT_NODE_LEFT)
- onNodeLeft(evt.eventNode().id());
-
- synchronized (this) {
- lastSnapshot = new GridDiscoveryTopologySnapshot(evt.topologyVersion(), evt.topologyNodes());
-
- notifyAll();
- }
- }
-
- /**
- * @param msg Message received from remote node.
- * @param rcvTs Receive timestamp.
- */
- private void onMessage(GridClockMessage msg, long rcvTs) {
- GridClockDeltaSnapshot curr = pendingSnapshot;
-
- if (curr != null) {
- long delta = (msg.originatingTimestamp() + rcvTs) / 2 - msg.replyTimestamp();
-
- boolean needMore = curr.onDeltaReceived(msg.targetNodeId(), delta);
-
- if (needMore)
- requestTime(msg.targetNodeId());
- }
- }
-
- /**
- * Requests time from remote node.
- *
- * @param rmtNodeId Remote node ID.
- */
- private void requestTime(UUID rmtNodeId) {
- ClusterNode node = ctx.discovery().node(rmtNodeId);
-
- if (node != null) {
- InetAddress addr = node.attribute(ATTR_TIME_SERVER_HOST);
- int port = node.attribute(ATTR_TIME_SERVER_PORT);
-
- try {
- GridClockMessage req = new GridClockMessage(ctx.localNodeId(), rmtNodeId, currentTime(), 0);
-
- srv.sendPacket(req, addr, port);
- }
- catch (IgniteCheckedException e) {
- LT.error(log, e, "Failed to send time request to remote node [rmtNodeId=" + rmtNodeId +
- ", addr=" + addr + ", port=" + port + ']');
- }
- }
- else
- onNodeLeft(rmtNodeId);
- }
-
- /**
- * Node left callback.
- *
- * @param nodeId Left node ID.
- */
- private void onNodeLeft(UUID nodeId) {
- GridClockDeltaSnapshot curr = pendingSnapshot;
-
- if (curr != null)
- curr.onNodeLeft(nodeId);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index f6c8163..928a31c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -9217,11 +9217,7 @@ public abstract class IgniteUtils {
GridUnsafe.putInt(arr, off, drVer.nodeOrderAndDrIdRaw());
- off += 4;
-
- GridUnsafe.putLong(arr, off, drVer.globalTime());
-
- off += 8;
+ off += 12;
GridUnsafe.putLong(arr, off, drVer.order());
@@ -9234,11 +9230,7 @@ public abstract class IgniteUtils {
GridUnsafe.putInt(arr, off, ver.nodeOrderAndDrIdRaw());
- off += 4;
-
- GridUnsafe.putLong(arr, off, ver.globalTime());
-
- off += 8;
+ off += 12;
GridUnsafe.putLong(arr, off, ver.order());
@@ -9255,7 +9247,6 @@ public abstract class IgniteUtils {
public static GridCacheVersion readVersion(long ptr, boolean verEx) {
GridCacheVersion ver = new GridCacheVersion(GridUnsafe.getInt(ptr),
GridUnsafe.getInt(ptr + 4),
- GridUnsafe.getLong(ptr + 8),
GridUnsafe.getLong(ptr + 16));
if (verEx) {
@@ -9263,7 +9254,6 @@ public abstract class IgniteUtils {
ver = new GridCacheVersionEx(GridUnsafe.getInt(ptr),
GridUnsafe.getInt(ptr + 4),
- GridUnsafe.getLong(ptr + 8),
GridUnsafe.getLong(ptr + 16),
ver);
}
@@ -9284,17 +9274,13 @@ public abstract class IgniteUtils {
int nodeOrderDrId = GridUnsafe.getInt(arr, off);
- off += 4;
-
- long globalTime = GridUnsafe.getLong(arr, off);
-
- off += 8;
+ off += 12;
long order = GridUnsafe.getLong(arr, off);
off += 8;
- GridCacheVersion ver = new GridCacheVersion(topVer, nodeOrderDrId, globalTime, order);
+ GridCacheVersion ver = new GridCacheVersion(topVer, nodeOrderDrId, order);
if (verEx) {
topVer = GridUnsafe.getInt(arr, off);
@@ -9303,15 +9289,11 @@ public abstract class IgniteUtils {
nodeOrderDrId = GridUnsafe.getInt(arr, off);
- off += 4;
-
- globalTime = GridUnsafe.getLong(arr, off);
-
- off += 8;
+ off += 12;
order = GridUnsafe.getLong(arr, off);
- ver = new GridCacheVersionEx(topVer, nodeOrderDrId, globalTime, order, ver);
+ ver = new GridCacheVersionEx(topVer, nodeOrderDrId, order, ver);
}
return ver;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFlagsTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFlagsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFlagsTest.java
index ff2d62d..827b0a5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFlagsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccFlagsTest.java
@@ -73,7 +73,7 @@ public class GridCacheMvccFlagsTest extends GridCommonAbstractTest {
UUID id = UUID.randomUUID();
- GridCacheVersion ver = new GridCacheVersion(1, 0, 0, 0, 0);
+ GridCacheVersion ver = new GridCacheVersion(1, 0, 0, 0);
GridCacheMvccCandidate c = new GridCacheMvccCandidate(
entry,
@@ -114,7 +114,7 @@ public class GridCacheMvccFlagsTest extends GridCommonAbstractTest {
UUID id = UUID.randomUUID();
- GridCacheVersion ver = new GridCacheVersion(1, 0, 0, 0, 0);
+ GridCacheVersion ver = new GridCacheVersion(1, 0, 0, 0);
GridCacheMvccCandidate c = new GridCacheMvccCandidate(
entry,
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccPartitionedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccPartitionedSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccPartitionedSelfTest.java
index 9da6ea6..ea0b986 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccPartitionedSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccPartitionedSelfTest.java
@@ -991,7 +991,7 @@ public class GridCacheMvccPartitionedSelfTest extends GridCommonAbstractTest {
* @return Version.
*/
private GridCacheVersion version(int order) {
- return new GridCacheVersion(1, 0, order, order, 0);
+ return new GridCacheVersion(1, order, order, 0);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccSelfTest.java
index d352e26..ad50a40 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheMvccSelfTest.java
@@ -174,8 +174,8 @@ public class GridCacheMvccSelfTest extends GridCommonAbstractTest {
checkOrder(cands, ver1, ver5, ver3, ver2);
entry.orderCompleted(
- new GridCacheVersion(1, 0, 2, 0, 0),
- Arrays.asList(new GridCacheVersion(1, 0, 3, 4, 0), ver2, new GridCacheVersion(1, 0, 5, 6, 0)),
+ new GridCacheVersion(1, 2, 0, 0),
+ Arrays.asList(new GridCacheVersion(1, 3, 4, 0), ver2, new GridCacheVersion(1, 5, 6, 0)),
Collections.<GridCacheVersion>emptyList()
);
@@ -1053,7 +1053,7 @@ public class GridCacheMvccSelfTest extends GridCommonAbstractTest {
entry.orderCompleted(
ver2 /*local version.*/,
- Arrays.asList(new GridCacheVersion(1, 0, 1, 2, 0), ver3, new GridCacheVersion(1, 0, 5, 6, 0)),
+ Arrays.asList(new GridCacheVersion(1, 1, 2, 0), ver3, new GridCacheVersion(1, 5, 6, 0)),
Collections.<GridCacheVersion>emptyList()
);
@@ -1619,7 +1619,7 @@ public class GridCacheMvccSelfTest extends GridCommonAbstractTest {
* @return Version.
*/
private GridCacheVersion version(int order) {
- return new GridCacheVersion(1, 0, order, order, 0);
+ return new GridCacheVersion(1, order, order, 0);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/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 e76ab40..821807f 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
@@ -52,7 +52,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr
private long ttl;
/** Version. */
- private GridCacheVersion ver = new GridCacheVersion(0, 0, 0, 1, 0);
+ private GridCacheVersion ver = new GridCacheVersion(0, 0, 1, 0);
/** Obsolete version. */
private GridCacheVersion obsoleteVer = ver;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheVersionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheVersionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheVersionSelfTest.java
index 8179dc5..475ccb5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheVersionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheVersionSelfTest.java
@@ -79,7 +79,7 @@ public class GridCacheVersionSelfTest extends GridCommonAbstractTest {
*/
public void testMarshalling() throws Exception {
GridCacheVersion ver = version(1, 1);
- GridCacheVersionEx verEx = new GridCacheVersionEx(2, 2, 0, 0, ver);
+ GridCacheVersionEx verEx = new GridCacheVersionEx(2, 2, 0, ver);
OptimizedMarshaller marsh = new OptimizedMarshaller(false);
@@ -101,6 +101,6 @@ public class GridCacheVersionSelfTest extends GridCommonAbstractTest {
* @return Cache version.
*/
private GridCacheVersion version(int nodeOrder, int drId) {
- return new GridCacheVersion(0, 0, 0, nodeOrder, drId);
+ return new GridCacheVersion(0, 0, nodeOrder, drId);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/version/CacheVersionedEntryAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/version/CacheVersionedEntryAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/version/CacheVersionedEntryAbstractTest.java
index 37cf26d..d1c0f31 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/version/CacheVersionedEntryAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/version/CacheVersionedEntryAbstractTest.java
@@ -155,7 +155,6 @@ public abstract class CacheVersionedEntryAbstractTest extends GridCacheAbstractS
});
assert ver1.version().compareTo(ver2.version()) < 0;
- assert ver1.updateTime() <= ver2.updateTime();
}
/**
@@ -165,7 +164,6 @@ public abstract class CacheVersionedEntryAbstractTest extends GridCacheAbstractS
assertNotNull(entry);
assertNotNull(entry.version());
- assert entry.updateTime() > 0;
assertNotNull(entry.getKey());
assertNotNull(entry.getValue());
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b02f81f/modules/core/src/test/java/org/apache/ignite/internal/processors/clock/GridTimeSyncProcessorSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/clock/GridTimeSyncProcessorSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/clock/GridTimeSyncProcessorSelfTest.java
deleted file mode 100644
index f5ba07d..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/clock/GridTimeSyncProcessorSelfTest.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.clock;
-
-import java.util.NavigableMap;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.GridKernalContextImpl;
-import org.apache.ignite.internal.IgniteKernal;
-import org.apache.ignite.internal.util.typedef.PA;
-import org.apache.ignite.lifecycle.LifecycleBean;
-import org.apache.ignite.lifecycle.LifecycleEventType;
-import org.apache.ignite.resources.IgniteInstanceResource;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.testframework.GridTestUtils;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-/**
- * Time sync processor self test.
- */
-public class GridTimeSyncProcessorSelfTest extends GridCommonAbstractTest {
- /** IP finder. */
- private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
-
- /** Number of grids in test. */
- public static final int GRID_CNT = 4;
-
- /** Starting grid index. */
- private int idx;
-
- /** {@inheritDoc} */
- @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(gridName);
-
- TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
- discoSpi.setIpFinder(IP_FINDER);
-
- cfg.setDiscoverySpi(discoSpi);
-
- cfg.setLifecycleBeans(new TimeShiftLifecycleBean(idx * 2000));
-
- idx++;
-
- return cfg;
- }
-
- /**
- * @throws Exception If failed.
- */
- public void testTimeSync() throws Exception {
- startGrids(GRID_CNT);
-
- try {
- // Check coordinator time deltas.
- final IgniteKernal kernal = (IgniteKernal)grid(0);
-
- // Wait for latest time sync history.
- GridTestUtils.waitForCondition(new PA() {
- @Override public boolean apply() {
- NavigableMap<GridClockDeltaVersion, GridClockDeltaSnapshot> hist = kernal.context().clockSync()
- .timeSyncHistory();
-
- info("Checking time sync history: " + hist);
-
- for (GridClockDeltaVersion ver : hist.keySet()) {
- if (ver.topologyVersion() == 4)
- return true;
- }
-
- return false;
- }
- }, 10000);
-
- NavigableMap<GridClockDeltaVersion, GridClockDeltaSnapshot> history = kernal.context().clockSync()
- .timeSyncHistory();
-
- GridClockDeltaSnapshot snap = history.lastEntry().getValue();
-
- assertEquals(3, snap.deltas().size());
-
- for (int i = 1; i < GRID_CNT; i++) {
- Long delta = snap.deltas().get(grid(i).localNode().id());
-
- // Give 300ms range for test?
- int idealDelta = - i * 2000;
-
- int threshold = 100;
-
- assertTrue("Invalid time delta for node [expected=" + idealDelta + ", " +
- "actual=" + delta + ", threshold=" + threshold,
- delta <= idealDelta + threshold && delta >= idealDelta - threshold);
- }
- }
- finally {
- stopAllGrids();
- }
- }
-
- /**
- * @throws Exception If failed.
- */
- public void testTimeSyncChangeCoordinator() throws Exception {
- startGrids(GRID_CNT);
-
- try {
- for (int i = 0; i < GRID_CNT; i++) {
- // Not coordinator now.
- stopGrid(i);
-
- startGrid(i);
- }
-
- // Check coordinator time deltas.
- final IgniteKernal kernal = (IgniteKernal)grid(0);
-
- assertEquals(6, kernal.localNode().order());
-
- // Wait for latest time sync history.
- GridTestUtils.waitForCondition(new PA() {
- @Override public boolean apply() {
- NavigableMap<GridClockDeltaVersion, GridClockDeltaSnapshot> hist = kernal.context().clockSync()
- .timeSyncHistory();
-
- info("Checking time sync history: " + hist);
-
- for (GridClockDeltaVersion ver : hist.keySet()) {
- if (ver.topologyVersion() == 12)
- return true;
- }
-
- return false;
- }
- }, 10000);
-
- NavigableMap<GridClockDeltaVersion, GridClockDeltaSnapshot> history = kernal.context().clockSync()
- .timeSyncHistory();
-
- GridClockDeltaSnapshot snap = history.lastEntry().getValue();
-
- assertEquals(3, snap.deltas().size());
-
- for (int i = 1; i < GRID_CNT; i++) {
- Long delta = snap.deltas().get(grid(i).localNode().id());
-
- // Give 300ms range for test?
- int idealDelta = - i * 2000;
-
- int threshold = 100;
-
- assertTrue("Invalid time delta for node [expected=" + idealDelta + ", " +
- "actual=" + delta + ", threshold=" + threshold,
- delta <= idealDelta + threshold && delta >= idealDelta - threshold);
- }
- }
- finally {
- stopAllGrids();
- }
- }
-
- /**
- * Time bean that sets shifted time source to context.
- */
- private static class TimeShiftLifecycleBean implements LifecycleBean {
- /** Injected grid. */
- @IgniteInstanceResource
- private Ignite g;
-
- /** Time delta. */
- private int delta;
-
- /**
- * Constructs lifecycle bean.
- *
- * @param delta Time delta.
- */
- private TimeShiftLifecycleBean(int delta) {
- this.delta = delta;
- }
-
- /** {@inheritDoc} */
- @Override public void onLifecycleEvent(LifecycleEventType evt) {
- if (evt == LifecycleEventType.BEFORE_NODE_START)
- ((GridKernalContextImpl)((IgniteKernal)g).context()).timeSource(new TimeShiftClockSource(delta));
- }
- }
-
- /**
- * Time shift time source.
- */
- private static class TimeShiftClockSource implements GridClockSource {
- /** Time shift delta. */
- private int delta;
-
- /**
- * @param delta Time shift delta.
- */
- private TimeShiftClockSource(int delta) {
- this.delta = delta;
- }
-
- /** {@inheritDoc} */
- @Override public long currentTimeMillis() {
- return System.currentTimeMillis() + delta;
- }
- }
-}
\ No newline at end of file