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 2015/05/19 20:19:15 UTC
[1/8] incubator-ignite git commit: IGNITE-80 - Porting changes to a
separate branch.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-sprint-5 26a713c84 -> f9a4dd7f5
IGNITE-80 - Porting changes to a separate branch.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/dcda61b4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/dcda61b4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/dcda61b4
Branch: refs/heads/ignite-sprint-5
Commit: dcda61b4fe2be3005544a3fc915b19ac3e4c9598
Parents: 1e53395
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Wed Apr 29 14:08:05 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Wed Apr 29 14:08:05 2015 -0700
----------------------------------------------------------------------
.../processors/cache/GridCacheIoManager.java | 5 +--
.../GridCachePartitionExchangeManager.java | 4 +-
.../distributed/dht/GridDhtCacheAdapter.java | 6 ++-
.../dht/atomic/GridDhtAtomicCache.java | 4 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 42 +++++++++++++++-----
.../dht/atomic/GridNearAtomicUpdateRequest.java | 36 ++++++++++++++---
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../cache/transactions/IgniteTxManager.java | 24 +++++++++++
8 files changed, 101 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index b8668e6..112330a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -146,9 +146,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
c = clsHandlers.get(new ListenerKey(cacheMsg.cacheId(), cacheMsg.getClass()));
if (c == null) {
- if (log.isDebugEnabled())
- log.debug("Received message without registered handler (will ignore) [msg=" + cacheMsg +
- ", nodeId=" + nodeId + ']');
+ U.warn(log, "Received message without registered handler (will ignore) [msg=" + cacheMsg +
+ ", nodeId=" + nodeId + ']');
return;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 5f82ae2..e61168e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -409,10 +409,10 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
* @param ver Topology version.
* @return Future or {@code null} is future is already completed.
*/
- public @Nullable IgniteInternalFuture<?> affinityReadyFuture(AffinityTopologyVersion ver) {
+ @Nullable public IgniteInternalFuture<?> affinityReadyFuture(AffinityTopologyVersion ver) {
GridDhtPartitionsExchangeFuture lastInitializedFut0 = lastInitializedFut;
- if (lastInitializedFut0 != null && lastInitializedFut0.topologyVersion().compareTo(ver) >= 0) {
+ if (lastInitializedFut0 != null && lastInitializedFut0.topologyVersion().compareTo(ver) == 0) {
if (log.isDebugEnabled())
log.debug("Return lastInitializedFut for topology ready future " +
"[ver=" + ver + ", fut=" + lastInitializedFut0 + ']');
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
index 1c46fd0..4d1db85 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
@@ -645,8 +645,10 @@ public abstract class GridDhtCacheAdapter<K, V> extends GridDistributedCacheAdap
res.error(e);
}
- res.invalidPartitions(fut.invalidPartitions(),
- new AffinityTopologyVersion(ctx.discovery().topologyVersion()));
+ if (!F.isEmpty(fut.invalidPartitions()))
+ res.invalidPartitions(fut.invalidPartitions(), ctx.shared().exchange().readyAffinityVersion());
+ else
+ res.invalidPartitions(fut.invalidPartitions(), req.topologyVersion());
try {
ctx.io().send(nodeId, res, ctx.ioPolicy());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 905f7bf..a30f211 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -1041,7 +1041,9 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
// Do not check topology version for CLOCK versioning since
// partition exchange will wait for near update future.
- if (topology().topologyVersion().equals(req.topologyVersion()) ||
+ // Also do not check topology version if topology was locked on near node by
+ // external transaction or explicit lock.
+ if (topology().topologyVersion().equals(req.topologyVersion()) || req.topologyLocked() ||
ctx.config().getAtomicWriteOrderMode() == CLOCK) {
ClusterNode node = ctx.discovery().node(nodeId);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index 072ab52..3dc89f6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@ -28,6 +28,7 @@ import org.apache.ignite.internal.processors.cache.*;
import org.apache.ignite.internal.processors.cache.distributed.dht.*;
import org.apache.ignite.internal.processors.cache.distributed.near.*;
import org.apache.ignite.internal.processors.cache.dr.*;
+import org.apache.ignite.internal.processors.cache.transactions.*;
import org.apache.ignite.internal.processors.cache.version.*;
import org.apache.ignite.internal.util.future.*;
import org.apache.ignite.internal.util.tostring.*;
@@ -136,6 +137,9 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
/** Task name hash. */
private final int taskNameHash;
+ /** Topology locked flag. Set if atomic update is performed inside a TX or explicit lock. */
+ private boolean topLocked;
+
/** Skip store flag. */
private final boolean skipStore;
@@ -289,7 +293,23 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
* @param waitTopFut Whether to wait for topology future.
*/
public void map(boolean waitTopFut) {
- mapOnTopology(keys, false, null, waitTopFut);
+ AffinityTopologyVersion topVer = null;
+
+ IgniteInternalTx tx = cctx.tm().anyActiveThreadTx();
+
+ if (tx != null && tx.topologyVersionSnapshot() != null)
+ topVer = tx.topologyVersionSnapshot();
+
+ if (topVer == null)
+ topVer = cctx.mvcc().lastExplicitLockTopologyVersion(Thread.currentThread().getId());
+
+ if (topVer == null)
+ mapOnTopology(keys, false, null, waitTopFut);
+ else {
+ topLocked = true;
+
+ map0(topVer, keys, false, null);
+ }
}
/** {@inheritDoc} */
@@ -430,15 +450,12 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
}
topVer = fut.topologyVersion();
-
- if (futVer == null)
- // Assign future version in topology read lock before first exception may be thrown.
- futVer = cctx.versions().next(topVer);
}
else {
if (waitTopFut) {
fut.listen(new CI1<IgniteInternalFuture<AffinityTopologyVersion>>() {
- @Override public void apply(IgniteInternalFuture<AffinityTopologyVersion> t) {
+ @Override
+ public void apply(IgniteInternalFuture<AffinityTopologyVersion> t) {
mapOnTopology(keys, remap, oldNodeId, waitTopFut);
}
});
@@ -448,9 +465,6 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
return;
}
-
- if (!remap && (cctx.config().getAtomicWriteOrderMode() == CLOCK || syncMode != FULL_ASYNC))
- cctx.mvcc().addAtomicFuture(version(), this);
}
finally {
cache.topology().readUnlock();
@@ -474,6 +488,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
}
/**
+ * @param topVer Topology version.
* @param keys Keys to map.
* @param remap Flag indicating if this is partial remap for this future.
* @param oldNodeId Old node ID if was remap.
@@ -494,6 +509,13 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
return;
}
+ if (futVer == null)
+ // Assign future version in topology read lock before first exception may be thrown.
+ futVer = cctx.versions().next(topVer);
+
+ if (!remap && (cctx.config().getAtomicWriteOrderMode() == CLOCK || syncMode != FULL_ASYNC))
+ cctx.mvcc().addAtomicFuture(version(), this);
+
CacheConfiguration ccfg = cctx.config();
// Assign version on near node in CLOCK ordering mode even if fastMap is false.
@@ -579,6 +601,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
fastMap,
updVer,
topVer,
+ topLocked,
syncMode,
op,
retval,
@@ -716,6 +739,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
fastMap,
updVer,
topVer,
+ topLocked,
syncMode,
op,
retval,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
index e0e3e26..a96a666 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
@@ -64,6 +64,9 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
/** Topology version. */
private AffinityTopologyVersion topVer;
+ /** Topology locked flag. Set if atomic update is performed inside TX or explicit lock. */
+ private boolean topLocked;
+
/** Write synchronization mode. */
private CacheWriteSynchronizationMode syncMode;
@@ -162,6 +165,7 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
boolean fastMap,
@Nullable GridCacheVersion updateVer,
@NotNull AffinityTopologyVersion topVer,
+ boolean topLocked,
CacheWriteSynchronizationMode syncMode,
GridCacheOperation op,
boolean retval,
@@ -179,6 +183,7 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
this.updateVer = updateVer;
this.topVer = topVer;
+ this.topLocked = topLocked;
this.syncMode = syncMode;
this.op = op;
this.retval = retval;
@@ -254,6 +259,13 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
}
/**
+ * @return Topology locked flag.
+ */
+ public boolean topologyLocked() {
+ return topLocked;
+ }
+
+ /**
* @return Cache write synchronization mode.
*/
public CacheWriteSynchronizationMode writeSynchronizationMode() {
@@ -664,18 +676,24 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
writer.incrementState();
case 20:
- if (!writer.writeMessage("topVer", topVer))
+ if (!writer.writeBoolean("topLocked", topLocked))
return false;
writer.incrementState();
case 21:
- if (!writer.writeMessage("updateVer", updateVer))
+ if (!writer.writeMessage("topVer", topVer))
return false;
writer.incrementState();
case 22:
+ if (!writer.writeMessage("updateVer", updateVer))
+ return false;
+
+ writer.incrementState();
+
+ case 23:
if (!writer.writeCollection("vals", vals, MessageCollectionItemType.MSG))
return false;
@@ -842,7 +860,7 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
reader.incrementState();
case 20:
- topVer = reader.readMessage("topVer");
+ topLocked = reader.readBoolean("topLocked");
if (!reader.isLastRead())
return false;
@@ -850,7 +868,7 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
reader.incrementState();
case 21:
- updateVer = reader.readMessage("updateVer");
+ topVer = reader.readMessage("topVer");
if (!reader.isLastRead())
return false;
@@ -858,6 +876,14 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
reader.incrementState();
case 22:
+ updateVer = reader.readMessage("updateVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 23:
vals = reader.readCollection("vals", MessageCollectionItemType.MSG);
if (!reader.isLastRead())
@@ -877,7 +903,7 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
/** {@inheritDoc} */
@Override public byte fieldsCount() {
- return 23;
+ return 24;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index 5b74b31..6292f2d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -292,7 +292,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
false,
false);
- cand.topologyVersion(new AffinityTopologyVersion(topVer.get().topologyVersion()));
+ cand.topologyVersion(topVer.get());
}
}
else {
@@ -311,7 +311,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
false,
false);
- cand.topologyVersion(new AffinityTopologyVersion(topVer.get().topologyVersion()));
+ cand.topologyVersion(topVer.get());
}
else
cand = cand.reenter();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dcda61b4/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 c494602..874e640 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
@@ -639,6 +639,30 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter {
}
/**
+ * @return Any transaction associated with the current thread.
+ */
+ public IgniteInternalTx anyActiveThreadTx() {
+ long threadId = Thread.currentThread().getId();
+
+ IgniteInternalTx tx = threadMap.get(threadId);
+
+ if (tx != null && tx.topologyVersionSnapshot() != null)
+ return tx;
+
+ for (GridCacheContext cacheCtx : cctx.cache().context().cacheContexts()) {
+ if (!cacheCtx.systemTx())
+ continue;
+
+ tx = sysThreadMap.get(new TxThreadKey(threadId, cacheCtx.cacheId()));
+
+ if (tx != null && tx.topologyVersionSnapshot() != null)
+ return tx;
+ }
+
+ return null;
+ }
+
+ /**
* @return Local transaction.
*/
@Nullable public IgniteInternalTx localTxx() {
[2/8] incubator-ignite git commit: IGNITE-80 - Merge branch
'ignite-80-1' into ignite-sprint-4
Posted by ag...@apache.org.
IGNITE-80 - Merge branch 'ignite-80-1' into ignite-sprint-4
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5de74fe6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5de74fe6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5de74fe6
Branch: refs/heads/ignite-sprint-5
Commit: 5de74fe6d7f3837310cfd9f4f9e5d2636560e182
Parents: 81ce0e6 dcda61b
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Wed Apr 29 22:49:14 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Wed Apr 29 22:49:14 2015 -0700
----------------------------------------------------------------------
.../processors/cache/GridCacheIoManager.java | 5 +--
.../GridCachePartitionExchangeManager.java | 4 +-
.../distributed/dht/GridDhtCacheAdapter.java | 6 ++-
.../dht/atomic/GridDhtAtomicCache.java | 4 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 42 +++++++++++++++-----
.../dht/atomic/GridNearAtomicUpdateRequest.java | 36 ++++++++++++++---
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../cache/transactions/IgniteTxManager.java | 24 +++++++++++
8 files changed, 101 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
[8/8] incubator-ignite git commit: Merge branch ignite-920 into
ignite-sprint-5
Posted by ag...@apache.org.
Merge branch ignite-920 into ignite-sprint-5
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f9a4dd7f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f9a4dd7f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f9a4dd7f
Branch: refs/heads/ignite-sprint-5
Commit: f9a4dd7f580abc3d66630531bb66c3bf4d75d1d8
Parents: 02d0acd
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Tue May 19 11:16:27 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Tue May 19 11:16:27 2015 -0700
----------------------------------------------------------------------
.../internal/processors/cache/GridCacheIoManager.java | 1 +
.../distributed/near/GridNearTxPrepareFutureAdapter.java | 9 +++++++--
.../processors/cache/IgniteCacheNearLockValueSelfTest.java | 1 +
3 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f9a4dd7f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index d5dd492..02f16c0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -487,6 +487,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
req.futureId(),
req.miniId(),
req.version(),
+ req.version(),
null, null, null);
res.error(req.classError());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f9a4dd7f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java
index 60b918c..b7a2fee 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java
@@ -214,10 +214,15 @@ public abstract class GridNearTxPrepareFutureAdapter extends GridCompoundIdentit
}
if (!m.empty()) {
+ GridCacheVersion writeVer = res.writeVersion();
+
+ if (writeVer == null)
+ writeVer = res.dhtVersion();
+
// Register DHT version.
- tx.addDhtVersion(m.node().id(), res.dhtVersion());
+ tx.addDhtVersion(m.node().id(), res.dhtVersion(), writeVer);
- m.dhtVersion(res.dhtVersion());
+ m.dhtVersion(res.dhtVersion(), writeVer);
if (m.near())
tx.readyNearLocks(m, res.pending(), res.committedVersions(), res.rolledbackVersions());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f9a4dd7f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java
index fe60331..5cc9d04 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java
@@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.*;
[6/8] incubator-ignite git commit: IGNITE-920 - Trigger TC.
Posted by ag...@apache.org.
IGNITE-920 - Trigger TC.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f1b5ecd1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f1b5ecd1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f1b5ecd1
Branch: refs/heads/ignite-sprint-5
Commit: f1b5ecd16dd2315bab79944f192dbf9a1113b81b
Parents: a927eb2
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon May 18 14:22:54 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon May 18 14:22:54 2015 -0700
----------------------------------------------------------------------
.../src/main/java/org/apache/ignite/internal/IgniteKernal.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f1b5ecd1/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 2d9828a..ffd264d 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
@@ -118,7 +118,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
@GridToStringExclude
private GridKernalContextImpl ctx;
- /** */
+ /** Configuration. */
private IgniteConfiguration cfg;
/** */
[7/8] incubator-ignite git commit: Merge branch ignite-920 into
ignite-sprint-5
Posted by ag...@apache.org.
Merge branch ignite-920 into ignite-sprint-5
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/02d0acd1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/02d0acd1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/02d0acd1
Branch: refs/heads/ignite-sprint-5
Commit: 02d0acd1d412914efdaf13c3ac0d798df74083b2
Parents: 26a713c f1b5ecd
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Tue May 19 11:16:12 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Tue May 19 11:16:12 2015 -0700
----------------------------------------------------------------------
.../apache/ignite/internal/IgniteKernal.java | 26 +++-
.../processors/cache/GridCacheIoManager.java | 5 +-
.../GridCachePartitionExchangeManager.java | 4 +-
.../distributed/GridDistributedTxMapping.java | 5 +-
.../distributed/dht/GridDhtCacheAdapter.java | 6 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 1 +
.../dht/atomic/GridDhtAtomicCache.java | 4 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 42 ++++--
.../dht/atomic/GridNearAtomicUpdateRequest.java | 36 ++++-
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../distributed/near/GridNearCacheEntry.java | 2 +-
.../cache/distributed/near/GridNearTxLocal.java | 5 +-
.../near/GridNearTxPrepareResponse.java | 28 +++-
.../transactions/IgniteTxLocalAdapter.java | 4 +-
.../cache/transactions/IgniteTxManager.java | 24 ++++
.../cache/IgniteCacheNearLockValueSelfTest.java | 144 +++++++++++++++++++
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 +
17 files changed, 306 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/02d0acd1/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
index 9fd4e88,159a8d8..3fa3d9d
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@@ -153,6 -159,295 +153,8 @@@ public class IgniteCacheTestSuite exten
// suite.addTestSuite(GridCacheNearTxExceptionSelfTest.class);
// suite.addTestSuite(GridCacheStopSelfTest.class); TODO IGNITE-257
- // Local cache.
- suite.addTestSuite(GridCacheLocalBasicApiSelfTest.class);
- suite.addTestSuite(GridCacheLocalBasicStoreSelfTest.class);
- suite.addTestSuite(GridCacheLocalAtomicBasicStoreSelfTest.class);
- suite.addTestSuite(GridCacheLocalGetAndTransformStoreSelfTest.class);
- suite.addTestSuite(GridCacheLocalAtomicGetAndTransformStoreSelfTest.class);
- suite.addTestSuite(GridCacheLocalLoadAllSelfTest.class);
- suite.addTestSuite(GridCacheLocalLockSelfTest.class);
- suite.addTestSuite(GridCacheLocalMultithreadedSelfTest.class);
- suite.addTestSuite(GridCacheLocalTxSingleThreadedSelfTest.class);
- suite.addTestSuite(GridCacheLocalTxTimeoutSelfTest.class);
- suite.addTestSuite(GridCacheLocalEventSelfTest.class);
- suite.addTestSuite(GridCacheLocalEvictionEventSelfTest.class);
- suite.addTestSuite(GridCacheVariableTopologySelfTest.class);
- suite.addTestSuite(GridCacheLocalTxMultiThreadedSelfTest.class);
- suite.addTestSuite(GridCacheTransformEventSelfTest.class);
- suite.addTestSuite(GridCacheLocalIsolatedNodesSelfTest.class);
-
- // Partitioned cache.
- suite.addTestSuite(GridCachePartitionedGetSelfTest.class);
- suite.addTest(new TestSuite(GridCachePartitionedBasicApiTest.class));
- suite.addTest(new TestSuite(GridCacheNearMultiGetSelfTest.class));
- suite.addTest(new TestSuite(GridCacheNearJobExecutionSelfTest.class));
- suite.addTest(new TestSuite(GridCacheNearOneNodeSelfTest.class));
- suite.addTest(new TestSuite(GridCacheNearMultiNodeSelfTest.class));
- suite.addTest(new TestSuite(GridCacheAtomicNearMultiNodeSelfTest.class));
- suite.addTest(new TestSuite(GridCacheNearReadersSelfTest.class));
- suite.addTest(new TestSuite(GridCacheAtomicNearReadersSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedAffinitySelfTest.class));
- suite.addTest(new TestSuite(GridCacheRendezvousAffinityFunctionExcludeNeighborsSelfTest.class));
- suite.addTest(new TestSuite(GridCacheRendezvousAffinityClientSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedProjectionAffinitySelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedBasicOpSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedBasicStoreSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedGetAndTransformStoreSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedAtomicGetAndTransformStoreSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedBasicStoreMultiNodeSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedNearDisabledBasicStoreMultiNodeSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedEventSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedLockSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedMultiNodeLockSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedMultiNodeSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedMultiThreadedPutGetSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedNodeFailureSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedExplicitLockNodeFailureSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedTxSingleThreadedSelfTest.class));
- suite.addTest(new TestSuite(GridCacheColocatedTxSingleThreadedSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedTxTimeoutSelfTest.class));
- suite.addTest(new TestSuite(GridCacheFinishPartitionsSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtEntrySelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtInternalEntrySelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtMappingSelfTest.class));
-// suite.addTest(new TestSuite(GridCachePartitionedTxMultiThreadedSelfTest.class)); TODO-gg-4066
- suite.addTest(new TestSuite(GridCacheDhtPreloadSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadOffHeapSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadBigDataSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadPutGetSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadDisabledSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadMultiThreadedSelfTest.class));
- suite.addTest(new TestSuite(GridCacheColocatedPreloadRestartSelfTest.class));
- suite.addTest(new TestSuite(GridCacheNearPreloadRestartSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadStartStopSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadUnloadSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedAffinityFilterSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedPreloadLifecycleSelfTest.class));
- suite.addTest(new TestSuite(CacheLoadingConcurrentGridStartSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtPreloadDelayedSelfTest.class));
- suite.addTest(new TestSuite(GridPartitionedBackupLoadSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedLoadCacheSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionNotLoadedEventSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtEvictionsDisabledSelfTest.class));
- suite.addTest(new TestSuite(GridCacheNearEvictionEventSelfTest.class));
- suite.addTest(new TestSuite(GridCacheAtomicNearEvictionEventSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtEvictionSelfTest.class));
- suite.addTest(new TestSuite(GridCacheReplicatedEvictionSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtEvictionNearReadersSelfTest.class));
- suite.addTest(new TestSuite(GridCacheDhtAtomicEvictionNearReadersSelfTest.class));
-// suite.addTest(new TestSuite(GridCachePartitionedTopologyChangeSelfTest.class)); TODO-gg-5489
- suite.addTest(new TestSuite(GridCachePartitionedPreloadEventsSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedUnloadEventsSelfTest.class));
- suite.addTest(new TestSuite(GridCachePartitionedAffinityHashIdResolverSelfTest.class));
- suite.addTest(new TestSuite(GridCacheColocatedOptimisticTransactionSelfTest.class));
- suite.addTestSuite(GridCacheAtomicMessageCountSelfTest.class);
- suite.addTest(new TestSuite(GridCacheNearPartitionedClearSelfTest.class));
-
- suite.addTest(new TestSuite(GridCacheDhtExpiredEntriesPreloadSelfTest.class));
- suite.addTest(new TestSuite(GridCacheNearExpiredEntriesPreloadSelfTest.class));
- suite.addTest(new TestSuite(GridCacheAtomicExpiredEntriesPreloadSelfTest.class));
-
- suite.addTest(new TestSuite(GridCacheOffheapUpdateSelfTest.class));
-
- // TODO: GG-7242, GG-7243: Enabled when fixed.
-// suite.addTest(new TestSuite(GridCacheDhtRemoveFailureTest.class));
-// suite.addTest(new TestSuite(GridCacheNearRemoveFailureTest.class));
- // TODO: GG-7201: Enable when fixed.
- //suite.addTest(new TestSuite(GridCacheDhtAtomicRemoveFailureTest.class));
-
- suite.addTest(new TestSuite(GridCacheNearPrimarySyncSelfTest.class));
- suite.addTest(new TestSuite(GridCacheColocatedPrimarySyncSelfTest.class));
-
- // Value consistency tests.
- suite.addTestSuite(GridCacheValueConsistencyAtomicSelfTest.class);
- suite.addTestSuite(GridCacheValueConsistencyAtomicPrimaryWriteOrderSelfTest.class);
- suite.addTestSuite(GridCacheValueConsistencyAtomicNearEnabledSelfTest.class);
- suite.addTestSuite(GridCacheValueConsistencyAtomicPrimaryWriteOrderNearEnabledSelfTest.class);
- suite.addTestSuite(GridCacheValueConsistencyTransactionalSelfTest.class);
- suite.addTestSuite(GridCacheValueConsistencyTransactionalNearEnabledSelfTest.class);
- suite.addTestSuite(GridCacheValueBytesPreloadingSelfTest.class);
-
- // Replicated cache.
- suite.addTestSuite(GridCacheReplicatedBasicApiTest.class);
- suite.addTestSuite(GridCacheReplicatedBasicOpSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedBasicStoreSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedGetAndTransformStoreSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedAtomicGetAndTransformStoreSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedEventSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedSynchronousCommitTest.class);
-
- // TODO: GG-7437.
- // suite.addTestSuite(GridCacheReplicatedInvalidateSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedLockSelfTest.class);
- // TODO: enable when GG-7437 is fixed.
- //suite.addTestSuite(GridCacheReplicatedMultiNodeLockSelfTest.class);
- //suite.addTestSuite(GridCacheReplicatedMultiNodeSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedNodeFailureSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedTxSingleThreadedSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedTxTimeoutSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedPreloadSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedPreloadOffHeapSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedPreloadLifecycleSelfTest.class);
- suite.addTestSuite(GridCacheSyncReplicatedPreloadSelfTest.class);
-
- suite.addTestSuite(GridCacheDeploymentSelfTest.class);
- suite.addTestSuite(GridCacheDeploymentOffHeapSelfTest.class);
-
- suite.addTestSuite(GridCachePutArrayValueSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedUnswapAdvancedSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedEvictionEventSelfTest.class);
- // TODO: GG-7569.
- // suite.addTestSuite(GridCacheReplicatedTxMultiThreadedSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedPreloadEventsSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedPreloadStartStopEventsSelfTest.class);
- // TODO: GG-7434
- // suite.addTestSuite(GridReplicatedTxPreloadTest.class);
-
- suite.addTestSuite(IgniteTxReentryNearSelfTest.class);
- suite.addTestSuite(IgniteTxReentryColocatedSelfTest.class);
-
- suite.addTestSuite(GridCacheOrderedPreloadingSelfTest.class);
-
- // Test for byte array value special case.
-// suite.addTestSuite(GridCacheLocalByteArrayValuesSelfTest.class);
- suite.addTestSuite(GridCacheNearPartitionedP2PEnabledByteArrayValuesSelfTest.class);
- suite.addTestSuite(GridCacheNearPartitionedP2PDisabledByteArrayValuesSelfTest.class);
- suite.addTestSuite(GridCachePartitionedOnlyP2PEnabledByteArrayValuesSelfTest.class);
- suite.addTestSuite(GridCachePartitionedOnlyP2PDisabledByteArrayValuesSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedP2PEnabledByteArrayValuesSelfTest.class);
- suite.addTestSuite(GridCacheReplicatedP2PDisabledByteArrayValuesSelfTest.class);
-
- // Near-only cache.
- suite.addTest(IgniteCacheNearOnlySelfTestSuite.suite());
-
- // Test cache with daemon nodes.
- suite.addTestSuite(GridCacheDaemonNodeLocalSelfTest.class);
- suite.addTestSuite(GridCacheDaemonNodePartitionedSelfTest.class);
- suite.addTestSuite(GridCacheDaemonNodeReplicatedSelfTest.class);
-
- // Write-behind.
- suite.addTest(IgniteCacheWriteBehindTestSuite.suite());
-
- // Transform.
- suite.addTestSuite(GridCachePartitionedTransformWriteThroughBatchUpdateSelfTest.class);
-
- suite.addTestSuite(GridCacheEntryVersionSelfTest.class);
- suite.addTestSuite(GridCacheVersionSelfTest.class);
-
- // Memory leak tests.
- suite.addTestSuite(GridCacheReferenceCleanupSelfTest.class);
- suite.addTestSuite(GridCacheReloadSelfTest.class);
-
- suite.addTestSuite(GridCacheMixedModeSelfTest.class);
-
- // Cache metrics.
- suite.addTest(IgniteCacheMetricsSelfTestSuite.suite());
-
- // Topology validator.
- suite.addTest(IgniteTopologyValidatorTestSuit.suite());
-
- // Eviction.
- suite.addTest(IgniteCacheEvictionSelfTestSuite.suite());
-
- // Iterators.
- suite.addTest(IgniteCacheIteratorsSelfTestSuite.suite());
-
- // Cache interceptor tests.
- suite.addTest(IgniteCacheInterceptorSelfTestSuite.suite());
-
- // Multi node update.
- suite.addTestSuite(GridCacheMultinodeUpdateSelfTest.class);
- // TODO: GG-5353.
- // suite.addTestSuite(GridCacheMultinodeUpdateNearEnabledSelfTest.class);
- // suite.addTestSuite(GridCacheMultinodeUpdateNearEnabledNoBackupsSelfTest.class);
- suite.addTestSuite(GridCacheMultinodeUpdateAtomicSelfTest.class);
- suite.addTestSuite(GridCacheMultinodeUpdateAtomicNearEnabledSelfTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicLoadAllTest.class);
- suite.addTestSuite(IgniteCacheAtomicLocalLoadAllTest.class);
- suite.addTestSuite(IgniteCacheTxLoadAllTest.class);
- suite.addTestSuite(IgniteCacheTxLocalLoadAllTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicLoaderWriterTest.class);
- suite.addTestSuite(IgniteCacheTxLoaderWriterTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicStoreSessionTest.class);
- suite.addTestSuite(IgniteCacheTxStoreSessionTest.class);
- suite.addTestSuite(IgniteCacheAtomicStoreSessionWriteBehindTest.class);
- suite.addTestSuite(IgniteCacheTxStoreSessionWriteBehindTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicNoReadThroughTest.class);
- suite.addTestSuite(IgniteCacheAtomicNearEnabledNoReadThroughTest.class);
- suite.addTestSuite(IgniteCacheAtomicLocalNoReadThroughTest.class);
- suite.addTestSuite(IgniteCacheTxNoReadThroughTest.class);
- suite.addTestSuite(IgniteCacheTxNearEnabledNoReadThroughTest.class);
- suite.addTestSuite(IgniteCacheTxLocalNoReadThroughTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicNoLoadPreviousValueTest.class);
- suite.addTestSuite(IgniteCacheAtomicNearEnabledNoLoadPreviousValueTest.class);
- suite.addTestSuite(IgniteCacheAtomicLocalNoLoadPreviousValueTest.class);
- suite.addTestSuite(IgniteCacheTxNoLoadPreviousValueTest.class);
- suite.addTestSuite(IgniteCacheTxNearEnabledNoLoadPreviousValueTest.class);
- suite.addTestSuite(IgniteCacheTxLocalNoLoadPreviousValueTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicNoWriteThroughTest.class);
- suite.addTestSuite(IgniteCacheAtomicNearEnabledNoWriteThroughTest.class);
- suite.addTestSuite(IgniteCacheAtomicLocalNoWriteThroughTest.class);
- suite.addTestSuite(IgniteCacheTxNoWriteThroughTest.class);
- suite.addTestSuite(IgniteCacheTxNearEnabledNoWriteThroughTest.class);
- suite.addTestSuite(IgniteCacheTxLocalNoWriteThroughTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicPeekModesTest.class);
- suite.addTestSuite(IgniteCacheAtomicNearPeekModesTest.class);
- suite.addTestSuite(IgniteCacheAtomicReplicatedPeekModesTest.class);
- suite.addTestSuite(IgniteCacheAtomicLocalPeekModesTest.class);
- suite.addTestSuite(IgniteCacheTxPeekModesTest.class);
- suite.addTestSuite(IgniteCacheTxNearPeekModesTest.class);
- suite.addTestSuite(IgniteCacheTxLocalPeekModesTest.class);
- suite.addTestSuite(IgniteCacheTxReplicatedPeekModesTest.class);
-
- // TODO: IGNITE-114.
- // suite.addTestSuite(IgniteCacheInvokeReadThroughTest.class);
- // suite.addTestSuite(GridCacheVersionMultinodeTest.class);
-
- suite.addTestSuite(IgniteCacheNearReadCommittedTest.class);
- suite.addTestSuite(IgniteCacheAtomicCopyOnReadDisabledTest.class);
- suite.addTestSuite(IgniteCacheTxCopyOnReadDisabledTest.class);
-
- suite.addTestSuite(IgniteCacheTxPreloadNoWriteTest.class);
-
- suite.addTestSuite(IgniteDynamicCacheStartSelfTest.class);
- suite.addTestSuite(IgniteCacheDynamicStopSelfTest.class);
- suite.addTestSuite(IgniteCacheConfigurationTemplateTest.class);
- suite.addTestSuite(IgniteCacheConfigurationDefaultTemplateTest.class);
-
- suite.addTestSuite(GridCacheTxLoadFromStoreOnLockSelfTest.class);
-
- suite.addTestSuite(GridCacheMarshallingNodeJoinSelfTest.class);
-
- suite.addTestSuite(IgniteCacheJdbcBlobStoreNodeRestartTest.class);
-
- suite.addTestSuite(IgniteCacheAtomicLocalStoreValueTest.class);
- suite.addTestSuite(IgniteCacheAtomicStoreValueTest.class);
- suite.addTestSuite(IgniteCacheAtomicNearEnabledStoreValueTest.class);
- suite.addTestSuite(IgniteCacheAtomicPrimaryWriteOrderStoreValueTest.class);
- suite.addTestSuite(IgniteCacheAtomicPrimaryWriteOrderNearEnabledStoreValueTest.class);
- suite.addTestSuite(IgniteCacheTxLocalStoreValueTest.class);
- suite.addTestSuite(IgniteCacheTxStoreValueTest.class);
- suite.addTestSuite(IgniteCacheTxNearEnabledStoreValueTest.class);
-
- suite.addTestSuite(IgniteCacheLockFailoverSelfTest.class);
- suite.addTestSuite(IgniteCacheMultiTxLockSelfTest.class);
-
- suite.addTestSuite(IgniteInternalCacheTypesTest.class);
-
- suite.addTestSuite(IgniteExchangeFutureHistoryTest.class);
-
- suite.addTestSuite(CacheNoValueClassOnServerNodeTest.class);
-
+ suite.addTestSuite(IgniteCacheNearLockValueSelfTest.class);
+
return suite;
}
}
[5/8] incubator-ignite git commit: IGNITE-920 - Fixed value sending
in near cache.
Posted by ag...@apache.org.
IGNITE-920 - Fixed value sending in near cache.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a927eb29
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a927eb29
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a927eb29
Branch: refs/heads/ignite-sprint-5
Commit: a927eb29276796831ead8e9351e30947c4480bf8
Parents: d3c056e
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon May 18 11:38:49 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon May 18 11:38:49 2015 -0700
----------------------------------------------------------------------
.../apache/ignite/internal/IgniteKernal.java | 24 +++-
.../distributed/GridDistributedTxMapping.java | 5 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 1 +
.../distributed/near/GridNearCacheEntry.java | 2 +-
.../cache/distributed/near/GridNearTxLocal.java | 5 +-
.../near/GridNearTxPrepareFuture.java | 10 +-
.../near/GridNearTxPrepareResponse.java | 28 +++-
.../transactions/IgniteTxLocalAdapter.java | 4 +-
.../cache/IgniteCacheNearLockValueSelfTest.java | 144 +++++++++++++++++++
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 +
10 files changed, 212 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/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 d98b023..2d9828a 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
@@ -2297,7 +2297,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
guard();
try {
- ctx.cache().dynamicStartCache(cacheCfg, cacheCfg.getName(), null, false).get();
+ if (ctx.cache().cache(cacheCfg.getName()) == null)
+ ctx.cache().dynamicStartCache(cacheCfg, cacheCfg.getName(), null, false).get();
return ctx.cache().publicJCache(cacheCfg.getName());
}
@@ -2341,7 +2342,14 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
guard();
try {
- ctx.cache().dynamicStartCache(cacheCfg, cacheCfg.getName(), nearCfg, false).get();
+ IgniteInternalCache<Object, Object> cache = ctx.cache().cache(cacheCfg.getName());
+
+ if (cache == null)
+ ctx.cache().dynamicStartCache(cacheCfg, cacheCfg.getName(), nearCfg, false).get();
+ else {
+ if (cache.configuration().getNearConfiguration() == null)
+ ctx.cache().dynamicStartCache(cacheCfg, cacheCfg.getName(), nearCfg, false).get();
+ }
return ctx.cache().publicJCache(cacheCfg.getName());
}
@@ -2380,7 +2388,14 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
guard();
try {
- ctx.cache().dynamicStartCache(null, cacheName, nearCfg, false).get();
+ IgniteInternalCache<Object, Object> internalCache = ctx.cache().cache(cacheName);
+
+ if (internalCache == null)
+ ctx.cache().dynamicStartCache(null, cacheName, nearCfg, false).get();
+ else {
+ if (internalCache.configuration().getNearConfiguration() == null)
+ ctx.cache().dynamicStartCache(null, cacheName, nearCfg, false).get();
+ }
return ctx.cache().publicJCache(cacheName);
}
@@ -2418,7 +2433,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
guard();
try {
- ctx.cache().getOrCreateFromTemplate(cacheName).get();
+ if (ctx.cache().cache(cacheName) == null)
+ ctx.cache().getOrCreateFromTemplate(cacheName).get();
return ctx.cache().publicJCache(cacheName);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxMapping.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxMapping.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxMapping.java
index 58c7725..fded3c9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxMapping.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxMapping.java
@@ -169,12 +169,13 @@ public class GridDistributedTxMapping implements Externalizable {
/**
* @param dhtVer DHT version.
+ * @param writeVer DHT writeVersion.
*/
- public void dhtVersion(GridCacheVersion dhtVer) {
+ public void dhtVersion(GridCacheVersion dhtVer, GridCacheVersion writeVer) {
this.dhtVer = dhtVer;
for (IgniteTxEntry e : entries)
- e.dhtVersion(dhtVer);
+ e.dhtVersion(writeVer);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index 3a1a80a..8cb10cd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -586,6 +586,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
tx.colocated() ? tx.xid() : tx.nearFutureId(),
nearMiniId == null ? tx.xid() : nearMiniId,
tx.xidVersion(),
+ tx.writeVersion(),
tx.invalidPartitions(),
ret,
prepErr);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
index c7fa4ab..29a8e5e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
@@ -301,7 +301,7 @@ public class GridNearCacheEntry extends GridDistributedCacheEntry {
else {
CacheObject val0 = valueBytesUnlocked();
- return F.t(ver, val0);
+ return F.t(dhtVer, val0);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
index c665354..1e9b502 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -388,15 +388,16 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter {
/**
* @param nodeId Node ID.
* @param dhtVer DHT version.
+ * @param writeVer Write version.
*/
- void addDhtVersion(UUID nodeId, GridCacheVersion dhtVer) {
+ void addDhtVersion(UUID nodeId, GridCacheVersion dhtVer, GridCacheVersion writeVer) {
// This step is very important as near and DHT versions grow separately.
cctx.versions().onReceived(nodeId, dhtVer);
GridDistributedTxMapping m = mappings.get(nodeId);
if (m != null)
- m.dhtVersion(dhtVer);
+ m.dhtVersion(dhtVer, writeVer);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index f573187..9284f49 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@ -1023,10 +1023,16 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
}
if (!m.empty()) {
+ GridCacheVersion writeVer = res.writeVersion();
+
+ // Backward compatibility.
+ if (writeVer == null)
+ writeVer = res.dhtVersion();
+
// Register DHT version.
- tx.addDhtVersion(m.node().id(), res.dhtVersion());
+ tx.addDhtVersion(m.node().id(), res.dhtVersion(), writeVer);
- m.dhtVersion(res.dhtVersion());
+ m.dhtVersion(res.dhtVersion(), writeVer);
if (m.near())
tx.readyNearLocks(m, res.pending(), res.committedVersions(), res.rolledbackVersions());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
index 2456674..f8c07f7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
@@ -53,6 +53,9 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
/** DHT version. */
private GridCacheVersion dhtVer;
+ /** Write version. */
+ private GridCacheVersion writeVer;
+
/** */
@GridToStringInclude
@GridDirectCollection(int.class)
@@ -101,6 +104,7 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
IgniteUuid futId,
IgniteUuid miniId,
GridCacheVersion dhtVer,
+ GridCacheVersion writeVer,
Collection<Integer> invalidParts,
GridCacheReturn retVal,
Throwable err
@@ -114,6 +118,7 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
this.futId = futId;
this.miniId = miniId;
this.dhtVer = dhtVer;
+ this.writeVer = writeVer;
this.invalidParts = invalidParts;
this.retVal = retVal;
}
@@ -158,6 +163,13 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
}
/**
+ * @return Write version.
+ */
+ public GridCacheVersion writeVersion() {
+ return writeVer;
+ }
+
+ /**
* Adds owned value.
*
* @param key Key.
@@ -371,6 +383,12 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
writer.incrementState();
+ case 19:
+ if (!writer.writeMessage("writeVer", writeVer))
+ return false;
+
+ writer.incrementState();
+
}
return true;
@@ -459,6 +477,14 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
reader.incrementState();
+ case 19:
+ writeVer = reader.readMessage("writeVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
}
return true;
@@ -471,7 +497,7 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
/** {@inheritDoc} */
@Override public byte fieldsCount() {
- return 19;
+ return 20;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index fc3efba..5c5076e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@ -738,7 +738,9 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
// in order to keep near entries on backup nodes until
// backup remote transaction completes.
if (cacheCtx.isNear()) {
- ((GridNearCacheEntry)cached).recordDhtVersion(txEntry.dhtVersion());
+ if (txEntry.op() == CREATE || txEntry.op() == UPDATE ||
+ txEntry.op() == DELETE || txEntry.op() == TRANSFORM)
+ ((GridNearCacheEntry)cached).recordDhtVersion(txEntry.dhtVersion());
if ((txEntry.op() == CREATE || txEntry.op() == UPDATE) &&
txEntry.conflictExpireTime() == CU.EXPIRE_TIME_CALCULATE) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java
new file mode 100644
index 0000000..fe60331
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheNearLockValueSelfTest.java
@@ -0,0 +1,144 @@
+/*
+ * 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.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.managers.communication.*;
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+import org.apache.ignite.plugin.extensions.communication.*;
+import org.apache.ignite.spi.*;
+import org.apache.ignite.spi.communication.tcp.*;
+import org.apache.ignite.testframework.junits.common.*;
+import org.apache.ignite.transactions.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.apache.ignite.transactions.TransactionConcurrency.*;
+import static org.apache.ignite.transactions.TransactionIsolation.*;
+
+/**
+ *
+ */
+public class IgniteCacheNearLockValueSelfTest extends GridCommonAbstractTest {
+ /** {@inheritDoc} */
+ @Override protected void beforeTestsStarted() throws Exception {
+ startGridsMultiThreaded(2);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTestsStopped() throws Exception {
+ super.afterTestsStopped();
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ if (getTestGridName(0).equals(gridName))
+ cfg.setClientMode(true);
+
+ cfg.setCommunicationSpi(new TestCommunicationSpi());
+
+ return cfg;
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testDhtVersion() throws Exception {
+ CacheConfiguration<Object, Object> pCfg = new CacheConfiguration<>("partitioned");
+
+ pCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
+
+ try (IgniteCache<Object, Object> cache = ignite(0).getOrCreateCache(pCfg, new NearCacheConfiguration<>())) {
+ cache.put("key1", "val1");
+
+ for (int i = 0; i < 3; i++) {
+ ((TestCommunicationSpi)ignite(0).configuration().getCommunicationSpi()).clear();
+ ((TestCommunicationSpi)ignite(1).configuration().getCommunicationSpi()).clear();
+
+ try (Transaction tx = ignite(0).transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) {
+ cache.get("key1");
+
+ tx.commit();
+ }
+
+ TestCommunicationSpi comm = (TestCommunicationSpi)ignite(0).configuration().getCommunicationSpi();
+
+ assertEquals(1, comm.requests().size());
+
+ GridCacheAdapter<Object, Object> primary = ((IgniteKernal)grid(1)).internalCache("partitioned");
+
+ GridCacheEntryEx dhtEntry = primary.peekEx(primary.context().toCacheKeyObject("key1"));
+
+ assertNotNull(dhtEntry);
+
+ GridNearLockRequest req = comm.requests().iterator().next();
+
+ assertEquals(dhtEntry.version(), req.dhtVersion(0));
+
+ // Check entry version in near cache after commit.
+ GridCacheAdapter<Object, Object> near = ((IgniteKernal)grid(0)).internalCache("partitioned");
+
+ GridNearCacheEntry nearEntry = (GridNearCacheEntry)near.peekEx(near.context().toCacheKeyObject("key1"));
+
+ assertNotNull(nearEntry);
+
+ assertEquals(dhtEntry.version(), nearEntry.dhtVersion());
+ }
+ }
+ }
+
+ /**
+ *
+ */
+ private static class TestCommunicationSpi extends TcpCommunicationSpi {
+ /** */
+ private Collection<GridNearLockRequest> reqs = new ConcurrentLinkedDeque<>();
+
+ /** {@inheritDoc} */
+ @Override public void sendMessage(ClusterNode node, Message msg) throws IgniteSpiException {
+ if (msg instanceof GridIoMessage) {
+ GridIoMessage ioMsg = (GridIoMessage)msg;
+
+ if (ioMsg.message() instanceof GridNearLockRequest)
+ reqs.add((GridNearLockRequest)ioMsg.message());
+ }
+
+ super.sendMessage(node, msg);
+ }
+
+ /**
+ * @return Collected requests.
+ */
+ public Collection<GridNearLockRequest> requests() {
+ return reqs;
+ }
+
+ /**
+ *
+ */
+ public void clear() {
+ reqs.clear();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a927eb29/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
index 28b10d9..159a8d8 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@ -446,6 +446,8 @@ public class IgniteCacheTestSuite extends TestSuite {
suite.addTestSuite(CacheNoValueClassOnServerNodeTest.class);
+ suite.addTestSuite(IgniteCacheNearLockValueSelfTest.class);
+
return suite;
}
}
[4/8] incubator-ignite git commit: Merge remote-tracking branch
'origin/ignite-sprint-4' into ignite-sprint-4
Posted by ag...@apache.org.
Merge remote-tracking branch 'origin/ignite-sprint-4' into ignite-sprint-4
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d3c056e1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d3c056e1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d3c056e1
Branch: refs/heads/ignite-sprint-5
Commit: d3c056e153c17629c1b12db593877c3c1fde9798
Parents: b218e78 9c30fba
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon May 18 11:07:11 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon May 18 11:07:11 2015 -0700
----------------------------------------------------------------------
DEVNOTES.txt | 6 -
assembly/release-base.xml | 4 +-
bin/ignite-schema-import.bat | 2 +-
bin/ignite-schema-import.sh | 2 +-
bin/ignite.bat | 2 +-
bin/ignite.sh | 2 +-
bin/ignitevisorcmd.bat | 2 +-
bin/ignitevisorcmd.sh | 2 +-
bin/include/build-classpath.bat | 46 ++
bin/include/build-classpath.sh | 71 +++
bin/include/target-classpath.bat | 46 --
bin/include/target-classpath.sh | 71 ---
examples/pom.xml | 2 +-
modules/aop/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/clients/pom.xml | 2 +-
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
.../ignite/codegen/MessageCodeGenerator.java | 4 +-
modules/core/pom.xml | 2 +-
.../communication/GridIoMessageFactory.java | 4 +-
.../cache/DynamicCacheDescriptor.java | 16 +-
.../processors/cache/GridCacheAdapter.java | 518 +++++++++---------
.../processors/cache/GridCacheMapEntry.java | 18 +-
.../GridCachePartitionExchangeManager.java | 3 +
.../processors/cache/GridCacheProcessor.java | 189 ++++---
.../processors/cache/GridCacheTtlManager.java | 42 +-
.../processors/cache/GridCacheUtils.java | 5 +-
...ridCacheOptimisticCheckPreparedTxFuture.java | 434 ---------------
...idCacheOptimisticCheckPreparedTxRequest.java | 232 --------
...dCacheOptimisticCheckPreparedTxResponse.java | 179 -------
.../distributed/GridCacheTxRecoveryFuture.java | 506 ++++++++++++++++++
.../distributed/GridCacheTxRecoveryRequest.java | 261 +++++++++
.../GridCacheTxRecoveryResponse.java | 182 +++++++
.../GridDistributedTxRemoteAdapter.java | 2 +-
.../distributed/dht/GridDhtLocalPartition.java | 2 +-
.../dht/GridPartitionedGetFuture.java | 2 +-
.../cache/query/GridCacheSqlQuery.java | 2 +-
.../cache/query/GridCacheTwoStepQuery.java | 17 +
.../cache/transactions/IgniteInternalTx.java | 5 +-
.../cache/transactions/IgniteTxAdapter.java | 2 +-
.../cache/transactions/IgniteTxHandler.java | 38 +-
.../transactions/IgniteTxLocalAdapter.java | 2 +-
.../cache/transactions/IgniteTxManager.java | 173 ++----
.../datastreamer/DataStreamerImpl.java | 2 +
.../processors/igfs/IgfsDataManager.java | 3 +
.../processors/igfs/IgfsMetaManager.java | 2 +-
.../internal/processors/igfs/IgfsUtils.java | 11 +-
.../internal/visor/query/VisorQueryArg.java | 14 +-
.../internal/visor/query/VisorQueryJob.java | 2 +
.../communication/tcp/TcpCommunicationSpi.java | 2 +-
.../discovery/tcp/TcpDiscoverySpiAdapter.java | 8 +-
.../resources/META-INF/classnames.properties | 12 +-
.../internal/GridUpdateNotifierSelfTest.java | 21 +-
.../processors/cache/CacheGetFromJobTest.java | 110 ++++
.../GridCacheAbstractFailoverSelfTest.java | 4 +-
.../GridCacheAbstractNodeRestartSelfTest.java | 94 ++--
...xOriginatingNodeFailureAbstractSelfTest.java | 2 +-
.../dht/GridCacheDhtPreloadSelfTest.java | 2 +-
...rDisabledPrimaryNodeFailureRecoveryTest.java | 31 ++
...rtitionedPrimaryNodeFailureRecoveryTest.java | 31 ++
...woBackupsPrimaryNodeFailureRecoveryTest.java | 37 ++
...ePrimaryNodeFailureRecoveryAbstractTest.java | 533 +++++++++++++++++++
.../GridCachePartitionedNodeRestartTest.java | 4 +-
...ePartitionedOptimisticTxNodeRestartTest.java | 4 +-
.../GridCacheReplicatedNodeRestartSelfTest.java | 2 +
.../IgniteCacheExpiryPolicyAbstractTest.java | 2 +-
.../IgniteCacheExpiryPolicyTestSuite.java | 2 +
.../expiry/IgniteCacheTtlCleanupSelfTest.java | 85 +++
.../igfs/IgfsClientCacheSelfTest.java | 132 +++++
.../processors/igfs/IgfsOneClientNodeTest.java | 133 +++++
.../processors/igfs/IgfsStreamsSelfTest.java | 2 +-
.../testsuites/IgniteCacheRestartTestSuite.java | 5 +-
.../ignite/testsuites/IgniteCacheTestSuite.java | 3 -
.../IgniteCacheTxRecoverySelfTestSuite.java | 4 +
.../ignite/testsuites/IgniteIgfsTestSuite.java | 3 +
modules/extdata/p2p/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 2 +-
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
.../processors/query/h2/IgniteH2Indexing.java | 4 +
.../processors/query/h2/sql/GridSqlQuery.java | 20 +
.../query/h2/sql/GridSqlQueryParser.java | 10 +-
.../query/h2/sql/GridSqlQuerySplitter.java | 11 +-
.../processors/query/h2/sql/GridSqlSelect.java | 2 +-
.../processors/query/h2/sql/GridSqlUnion.java | 2 +-
.../query/h2/twostep/GridMapQueryExecutor.java | 3 +
.../h2/twostep/GridReduceQueryExecutor.java | 119 ++++-
.../IgniteCacheAbstractFieldsQuerySelfTest.java | 21 +
modules/jcl/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/log4j/pom.xml | 2 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
.../ignite/schema/generator/CodeGenerator.java | 41 +-
modules/slf4j/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
modules/ssh/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
.../commands/cache/VisorCacheScanCommand.scala | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
modules/yardstick/pom.xml | 2 +-
parent/pom.xml | 2 +
pom.xml | 88 +--
112 files changed, 3088 insertions(+), 1693 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d3c056e1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d3c056e1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
[3/8] incubator-ignite git commit: Merge remote-tracking branch
'origin/ignite-sprint-4' into ignite-sprint-4
Posted by ag...@apache.org.
Merge remote-tracking branch 'origin/ignite-sprint-4' into ignite-sprint-4
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/b218e78a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b218e78a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b218e78a
Branch: refs/heads/ignite-sprint-5
Commit: b218e78adb72d759e646a1042f44fa19b44cf09e
Parents: 5de74fe 54f9492
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Tue May 5 11:17:56 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Tue May 5 11:17:56 2015 -0700
----------------------------------------------------------------------
DEVNOTES.txt | 2 +-
assembly/release-base.xml | 2 +
assembly/release-schema-import.xml | 50 ++++
.../streaming/wordcount/CacheConfig.java | 5 -
.../config/grid-client-config.properties | 50 ++--
.../ClientPropertiesConfigurationSelfTest.java | 12 +-
.../java/org/apache/ignite/IgniteCache.java | 5 +
.../org/apache/ignite/IgniteJdbcDriver.java | 81 ++++---
.../client/GridClientConfiguration.java | 2 +-
.../managers/communication/GridIoManager.java | 8 +-
.../processors/cache/GridCacheTtlManager.java | 168 +++++++++-----
.../processors/cache/GridCacheUtils.java | 5 +-
.../apache/ignite/lang/IgniteAsyncSupport.java | 4 +-
.../discovery/tcp/TcpClientDiscoverySpi.java | 4 -
.../spi/discovery/tcp/TcpDiscoverySpi.java | 4 -
.../discovery/tcp/TcpDiscoverySpiAdapter.java | 8 +-
.../IgniteCacheEntryListenerAbstractTest.java | 4 +-
...CacheLoadingConcurrentGridStartSelfTest.java | 154 +++++++++++++
...GridCacheLoadingConcurrentGridStartTest.java | 154 -------------
.../tcp/TcpClientDiscoverySelfTest.java | 8 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 +-
modules/schema-import/pom.xml | 6 +-
pom.xml | 227 ++++++++++++++++---
23 files changed, 625 insertions(+), 340 deletions(-)
----------------------------------------------------------------------