You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/04/29 12:55:40 UTC
[01/20] ignite git commit: Refactoring response.
Repository: ignite
Updated Branches:
refs/heads/ignite-2523-1 5d4af1a16 -> 5866b999f
Refactoring response.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/091f5d10
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/091f5d10
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/091f5d10
Branch: refs/heads/ignite-2523-1
Commit: 091f5d10ddc17a5a45a08e62a3c31bece63b1869
Parents: 10387a7
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 12:22:21 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 12:22:21 2016 +0300
----------------------------------------------------------------------
.../dht/atomic/GridDhtAtomicCache.java | 21 +++--
.../GridNearAtomicSingleUpdateFuture.java | 18 ++--
.../dht/atomic/GridNearAtomicUpdateFuture.java | 23 ++---
.../atomic/GridNearAtomicUpdateResponse.java | 93 +++++++++++++-------
.../distributed/near/GridNearAtomicCache.java | 23 +++--
5 files changed, 108 insertions(+), 70 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/091f5d10/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 c48787c..37a5f45 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
@@ -210,12 +210,17 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
if (req.writeSynchronizationMode() != FULL_ASYNC)
sendNearUpdateReply(res.nodeId(), res);
else {
- if (!F.isEmpty(res.remapKeys()))
+ if (res.remapKeysCount() > 0)
// Remap keys on primary node in FULL_ASYNC mode.
remapToNewPrimary(req);
else if (res.error() != null) {
+ Collection<KeyCacheObject> failedKeys = new ArrayList<>(res.failedKeysCount());
+
+ for (int i = 0; i < res.failedKeysCount(); i++)
+ failedKeys.add(res.failedKey(i));
+
U.error(log, "Failed to process write update request in FULL_ASYNC mode for keys: " +
- res.failedKeys(), res.error());
+ failedKeys, res.error());
}
}
}
@@ -1526,7 +1531,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
try {
if (top.stopping()) {
- res.addFailedKeys(req.keys(), new IgniteCheckedException("Failed to perform cache operation " +
+ res.addFailedKeys(req, new IgniteCheckedException("Failed to perform cache operation " +
"(cache is stopped): " + name()));
completionCb.apply(req, res);
@@ -1669,7 +1674,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
// an attempt to use cleaned resources.
U.error(log, "Unexpected exception during cache update", e);
- res.addFailedKeys(req.keys(), e);
+ res.addFailedKeys(req, e);
completionCb.apply(req, res);
@@ -1682,7 +1687,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
if (remap) {
assert dhtFut == null;
- res.remapKeys(req.keys());
+ res.remapKeys(req);
completionCb.apply(req, res);
}
@@ -1739,7 +1744,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
reloadIfNeeded(locked);
}
catch (IgniteCheckedException e) {
- res.addFailedKeys(req.keys(), e);
+ res.addFailedKeys(req, e);
return new UpdateBatchResult();
}
@@ -2593,7 +2598,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
}
}
catch (IgniteCheckedException e) {
- res.addFailedKeys(putMap != null ? putMap.keySet() : rmvKeys, e, ctx);
+ res.addFailedKeys(putMap != null ? putMap.keySet() : rmvKeys, e);
}
if (storeErr != null) {
@@ -2602,7 +2607,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
for (Object failedKey : storeErr.failedKeys())
failed.add(ctx.toCacheKeyObject(failedKey));
- res.addFailedKeys(failed, storeErr.getCause(), ctx);
+ res.addFailedKeys(failed, storeErr.getCause());
}
return dhtFut;
http://git-wip-us.apache.org/repos/asf/ignite/blob/091f5d10/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
index d8c217e..34399ac 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
@@ -163,7 +163,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
e.retryReadyFuture(cctx.shared().nextAffinityReadyFuture(req.topologyVersion()));
- res.addFailedKeys(req.keys(), e);
+ res.addFailedKeys(req, e);
}
}
@@ -233,22 +233,22 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
this.req = null;
- boolean remapKey = !F.isEmpty(res.remapKeys());
+ boolean remapKey = res.remapKeysCount() > 0;
if (remapKey) {
if (mapErrTopVer == null || mapErrTopVer.compareTo(req.topologyVersion()) < 0)
mapErrTopVer = req.topologyVersion();
}
else if (res.error() != null) {
- if (res.failedKeys() != null) {
+ if (res.failedKeysCount() > 0) {
if (err == null)
err = new CachePartialUpdateCheckedException(
"Failed to update keys (retry update if possible).");
- Collection<Object> keys = new ArrayList<>(res.failedKeys().size());
+ Collection<Object> keys = new ArrayList<>(res.failedKeysCount());
- for (KeyCacheObject key : res.failedKeys())
- keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(key, keepBinary, false));
+ for (int i = 0; i < res.failedKeysCount(); i++)
+ keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(res.failedKey(i), keepBinary, false));
err.add(keys, res.error(), req.topologyVersion());
}
@@ -319,7 +319,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
}
}
- if (res.error() != null && res.failedKeys() == null) {
+ if (res.error() != null && res.failedKeysCount() == 0) {
onDone(res.error());
return;
@@ -392,7 +392,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
private void updateNear(GridNearAtomicAbstractUpdateRequest req, GridNearAtomicUpdateResponse res) {
assert nearEnabled;
- if (res.remapKeys() != null || !req.hasPrimary())
+ if (res.remapKeysCount() > 0 || !req.hasPrimary())
return;
GridNearAtomicCache near = (GridNearAtomicCache)cctx.dht().near();
@@ -496,7 +496,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
req.futureVersion(),
cctx.deploymentEnabled());
- res.addFailedKeys(req.keys(), e);
+ res.addFailedKeys(req, e);
onResult(req.nodeId(), res, true);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/091f5d10/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 7021e2f..bad4647 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
@@ -185,7 +185,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
e.retryReadyFuture(cctx.shared().nextAffinityReadyFuture(req.topologyVersion()));
- res.addFailedKeys(req.keys(), e);
+ res.addFailedKeys(req, e);
}
}
@@ -298,27 +298,28 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
assert req != null && req.topologyVersion().equals(topVer) : req;
- if (res.remapKeys() != null) {
+ if (res.remapKeysCount() > 0) {
assert !fastMap || cctx.kernalContext().clientNode();
if (remapKeys == null)
- remapKeys = U.newHashSet(res.remapKeys().size());
+ remapKeys = U.newHashSet(res.remapKeysCount());
- remapKeys.addAll(res.remapKeys());
+ for (int i = 0; i < res.remapKeysCount(); i++)
+ remapKeys.add(res.remapKey(i));
if (mapErrTopVer == null || mapErrTopVer.compareTo(req.topologyVersion()) < 0)
mapErrTopVer = req.topologyVersion();
}
else if (res.error() != null) {
- if (res.failedKeys() != null) {
+ if (res.failedKeysCount() > 0) {
if (err == null)
err = new CachePartialUpdateCheckedException(
"Failed to update keys (retry update if possible).");
- Collection<Object> keys = new ArrayList<>(res.failedKeys().size());
+ Collection<Object> keys = new ArrayList<>(res.failedKeysCount());
- for (KeyCacheObject key : res.failedKeys())
- keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(key, keepBinary, false));
+ for (int i = 0; i < res.failedKeysCount(); i++)
+ keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(res.failedKey(i), keepBinary, false));
err.add(keys, res.error(), req.topologyVersion());
}
@@ -399,7 +400,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
}
}
- if (res.error() != null && res.failedKeys() == null) {
+ if (res.error() != null && res.failedKeysCount() == 0) {
onDone(res.error());
return;
@@ -486,7 +487,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
private void updateNear(GridNearAtomicUpdateRequest req, GridNearAtomicUpdateResponse res) {
assert nearEnabled;
- if (res.remapKeys() != null || !req.hasPrimary())
+ if (res.remapKeysCount() > 0 || !req.hasPrimary())
return;
GridNearAtomicCache near = (GridNearAtomicCache)cctx.dht().near();
@@ -634,7 +635,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
req.futureVersion(),
cctx.deploymentEnabled());
- res.addFailedKeys(req.keys(), e);
+ res.addFailedKeys(req, e);
onResult(req.nodeId(), res, true);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/091f5d10/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index f47bb75..bc552df 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.UUID;
-import java.util.concurrent.ConcurrentLinkedQueue;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.GridDirectCollection;
import org.apache.ignite.internal.GridDirectTransient;
@@ -75,7 +74,7 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
/** Failed keys. */
@GridToStringInclude
@GridDirectCollection(KeyCacheObject.class)
- private volatile Collection<KeyCacheObject> failedKeys;
+ private volatile List<KeyCacheObject> failedKeys;
/** Keys that should be remapped. */
@GridToStringInclude
@@ -167,10 +166,18 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
}
/**
- * @return Collection of failed keys.
+ * @return Failed keys count.
*/
- public Collection<KeyCacheObject> failedKeys() {
- return failedKeys;
+ public int failedKeysCount() {
+ return failedKeys == null ? 0 : failedKeys.size();
+ }
+
+ /**
+ * @param idx Index.
+ * @return Failed key.
+ */
+ public KeyCacheObject failedKey(int idx) {
+ return failedKeys.get(idx);
}
/**
@@ -189,17 +196,28 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
}
/**
- * @param remapKeys Remap keys.
+ * @param req Request.
+ */
+ public void remapKeys(GridNearAtomicAbstractUpdateRequest req) {
+ remapKeys = new ArrayList<>(req.keysCount());
+
+ for (int i = 0; i < req.keysCount(); i++)
+ remapKeys.add(req.key(i));
+ }
+
+ /**
+ * @param idx Index.
+ * @return Remap key.
*/
- public void remapKeys(List<KeyCacheObject> remapKeys) {
- this.remapKeys = remapKeys;
+ public KeyCacheObject remapKey(int idx) {
+ return remapKeys.get(idx);
}
/**
- * @return Remap keys.
+ * @return Remap keys count.
*/
- public Collection<KeyCacheObject> remapKeys() {
- return remapKeys;
+ public int remapKeysCount() {
+ return remapKeys == null ? 0 : remapKeys.size();
}
/**
@@ -312,18 +330,24 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
}
/**
- * @return Indexes of keys for which update was skipped
+ * Check if update was skipped for the given index.
+ *
+ * @param idx Index.
+ * @return {@code True} if skipped.
*/
- @Nullable public List<Integer> skippedIndexes() {
- return nearSkipIdxs;
+ public boolean isNearSkippedIndex(int idx) {
+ return nearSkipIdxs != null && nearSkipIdxs.contains(idx);
}
/**
- * @return Indexes of keys for which values were generated on primary node.
+ * Check if this is an index of a key for which values were generated on primary node.
+ *
+ * @param idx Index.
+ * @return {@code True} if values were generated on primary node.
*/
- @Nullable public List<Integer> nearValuesIndexes() {
- return nearValsIdxs;
- }
+ public boolean isNearValueIndex(int idx) {
+ return nearValsIdxs != null && nearValsIdxs.contains(idx);
+ }
/**
* @param idx Index.
@@ -341,14 +365,11 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
*/
public synchronized void addFailedKey(KeyCacheObject key, Throwable e) {
if (failedKeys == null)
- failedKeys = new ConcurrentLinkedQueue<>();
+ failedKeys = new ArrayList<>(1);
failedKeys.add(key);
- if (err == null)
- err = new IgniteCheckedException("Failed to update keys on primary node.");
-
- err.addSuppressed(e);
+ setFailedKeysError(e);
}
/**
@@ -365,25 +386,31 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
failedKeys.addAll(keys);
}
- if (err == null)
- err = new IgniteCheckedException("Failed to update keys on primary node.");
-
- err.addSuppressed(e);
+ setFailedKeysError(e);
}
/**
- * Adds keys to collection of failed keys.
+ * Add keys to collection of failed keys.
*
- * @param keys Key to add.
+ * @param req Request.
* @param e Error cause.
- * @param ctx Context.
*/
- public synchronized void addFailedKeys(Collection<KeyCacheObject> keys, Throwable e, GridCacheContext ctx) {
+ public synchronized void addFailedKeys(GridNearAtomicAbstractUpdateRequest req, Throwable e) {
if (failedKeys == null)
- failedKeys = new ArrayList<>(keys.size());
+ failedKeys = new ArrayList<>(req.keysCount());
- failedKeys.addAll(keys);
+ for (int i = 0; i < req.keysCount(); i++)
+ failedKeys.add(req.key(i));
+
+ setFailedKeysError(e);
+ }
+ /**
+ * Set failed keys error.
+ *
+ * @param e Error.
+ */
+ private void setFailedKeysError(Throwable e) {
if (err == null)
err = new IgniteCheckedException("Failed to update keys on primary node.");
http://git-wip-us.apache.org/repos/asf/ignite/blob/091f5d10/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
index ac87ead..ac1ef70 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -129,18 +129,13 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
GridNearAtomicAbstractUpdateRequest req,
GridNearAtomicUpdateResponse res
) {
- if (F.size(res.failedKeys()) == req.keysCount())
+ if (res.failedKeysCount() == req.keysCount())
return;
/*
* Choose value to be stored in near cache: first check key is not in failed and not in skipped list,
* then check if value was generated on primary node, if not then use value sent in request.
*/
-
- Collection<KeyCacheObject> failed = res.failedKeys();
- List<Integer> nearValsIdxs = res.nearValuesIndexes();
- List<Integer> skipped = res.skippedIndexes();
-
GridCacheVersion ver = req.updateVersion();
if (ver == null)
@@ -153,12 +148,22 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
String taskName = ctx.kernalContext().task().resolveTaskName(req.taskNameHash());
for (int i = 0; i < req.keysCount(); i++) {
- if (F.contains(skipped, i))
+ if (res.isNearSkippedIndex(i))
continue;
KeyCacheObject key = req.key(i);
- if (F.contains(failed, key))
+ boolean failed = false;
+
+ for (int j = 0; j < res.failedKeysCount(); j++) {
+ if (F.eq(res.failedKey(j), key)) {
+ failed = true;
+
+ break;
+ }
+ }
+
+ if (failed)
continue;
if (ctx.affinity().belongs(ctx.localNode(), ctx.affinity().partition(key), req.topologyVersion())) { // Reader became backup.
@@ -172,7 +177,7 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
CacheObject val = null;
- if (F.contains(nearValsIdxs, i)) {
+ if (res.isNearValueIndex(i)) {
val = res.nearValue(nearValIdx);
nearValIdx++;
[06/20] ignite git commit: Reworked near processing.
Posted by vo...@apache.org.
Reworked near processing.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c011b1c3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c011b1c3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c011b1c3
Branch: refs/heads/ignite-2523-1
Commit: c011b1c37bee22e0e37d17114c7ba337c32155f2
Parents: 6a233dd
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 16:14:40 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 16:14:40 2016 +0300
----------------------------------------------------------------------
.../GridNearAtomicSingleUpdateResponse.java | 111 +++++++------------
1 file changed, 38 insertions(+), 73 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/c011b1c3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
index 9c4aebe..7a7c04d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
@@ -18,7 +18,6 @@
package org.apache.ignite.internal.processors.cache.distributed.dht.atomic;
import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.GridDirectCollection;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -26,20 +25,16 @@ import org.apache.ignite.internal.processors.cache.GridCacheReturn;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
-import org.apache.ignite.internal.util.GridLongList;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.jetbrains.annotations.Nullable;
import java.io.Externalizable;
import java.nio.ByteBuffer;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.List;
import java.util.UUID;
/**
@@ -76,26 +71,23 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
private KeyCacheObject remapKey;
/** Indexes of keys for which values were generated on primary node (used if originating node has near cache). */
- @GridDirectCollection(int.class)
- private List<Integer> nearValsIdxs;
+ private boolean nearValsIdx;
/** Indexes of keys for which update was skipped (used if originating node has near cache). */
- @GridDirectCollection(int.class)
- private List<Integer> nearSkipIdxs;
+ private boolean nearSkipIdx;
/** Values generated on primary node which should be put to originating node's near cache. */
@GridToStringInclude
- @GridDirectCollection(CacheObject.class)
- private List<CacheObject> nearVals;
+ private CacheObject nearVal;
/** Version generated on primary node to be used for originating node's near cache update. */
private GridCacheVersion nearVer;
/** Near TTLs. */
- private GridLongList nearTtls;
+ private long nearTtl = -1L;
/** Near expire times. */
- private GridLongList nearExpireTimes;
+ private long nearExpireTime = -1L;
/**
* Empty constructor required by {@link Externalizable}.
@@ -191,65 +183,35 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** {@inheritDoc} */
@Override public void addNearValue(int keyIdx, @Nullable CacheObject val, long ttl, long expireTime) {
- if (nearValsIdxs == null) {
- nearValsIdxs = new ArrayList<>();
- nearVals = new ArrayList<>();
- }
+ assert keyIdx == 0;
addNearTtl(keyIdx, ttl, expireTime);
- nearValsIdxs.add(keyIdx);
- nearVals.add(val);
+ nearValsIdx = true;
+ nearVal = val;
}
/** {@inheritDoc} */
@SuppressWarnings("ForLoopReplaceableByForEach")
@Override public void addNearTtl(int keyIdx, long ttl, long expireTime) {
- if (ttl >= 0) {
- if (nearTtls == null) {
- nearTtls = new GridLongList(16);
-
- for (int i = 0; i < keyIdx; i++)
- nearTtls.add(-1L);
- }
- }
+ assert keyIdx == 0;
- if (nearTtls != null)
- nearTtls.add(ttl);
-
- if (expireTime >= 0) {
- if (nearExpireTimes == null) {
- nearExpireTimes = new GridLongList(16);
-
- for (int i = 0; i < keyIdx; i++)
- nearExpireTimes.add(-1);
- }
- }
-
- if (nearExpireTimes != null)
- nearExpireTimes.add(expireTime);
+ nearTtl = ttl;
+ nearExpireTime = expireTime;
}
/** {@inheritDoc} */
@Override public long nearExpireTime(int idx) {
- if (nearExpireTimes != null) {
- assert idx >= 0 && idx < nearExpireTimes.size();
-
- return nearExpireTimes.get(idx);
- }
+ assert idx == 0;
- return -1L;
+ return nearExpireTime;
}
/** {@inheritDoc} */
@Override public long nearTtl(int idx) {
- if (nearTtls != null) {
- assert idx >= 0 && idx < nearTtls.size();
-
- return nearTtls.get(idx);
- }
+ assert idx == 0;
- return -1L;
+ return nearTtl;
}
/** {@inheritDoc} */
@@ -264,27 +226,32 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** {@inheritDoc} */
@Override public void addSkippedIndex(int keyIdx) {
- if (nearSkipIdxs == null)
- nearSkipIdxs = new ArrayList<>();
+ assert keyIdx == 0;
- nearSkipIdxs.add(keyIdx);
+ nearSkipIdx = true;
addNearTtl(keyIdx, -1L, -1L);
}
/** {@inheritDoc} */
@Override public boolean isNearSkippedIndex(int idx) {
- return nearSkipIdxs != null && nearSkipIdxs.contains(idx);
+ assert idx == 0;
+
+ return nearSkipIdx;
}
/** {@inheritDoc} */
@Override public boolean isNearValueIndex(int idx) {
- return nearValsIdxs != null && nearValsIdxs.contains(idx);
+ assert idx == 0;
+
+ return nearValsIdx;
}
/** {@inheritDoc} */
@Override @Nullable public CacheObject nearValue(int idx) {
- return nearVals.get(idx);
+ assert idx == 0;
+
+ return nearVal;
}
/** {@inheritDoc} */
@@ -338,8 +305,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
prepareMarshalCacheObject(failedKey, cctx);
prepareMarshalCacheObject(remapKey, cctx);
-
- prepareMarshalCacheObjects(nearVals, cctx);
+ prepareMarshalCacheObject(nearVal, cctx);
if (ret != null)
ret.prepareMarshal(cctx);
@@ -356,8 +322,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
finishUnmarshalCacheObject(failedKey, cctx, ldr);
finishUnmarshalCacheObject(remapKey, cctx, ldr);
-
- finishUnmarshalCacheObjects(nearVals, cctx, ldr);
+ finishUnmarshalCacheObject(nearVal, cctx, ldr);
if (ret != null)
ret.finishUnmarshal(cctx, ldr);
@@ -399,31 +364,31 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
writer.incrementState();
case 6:
- if (!writer.writeMessage("nearExpireTimes", nearExpireTimes))
+ if (!writer.writeLong("nearExpireTime", nearExpireTime))
return false;
writer.incrementState();
case 7:
- if (!writer.writeCollection("nearSkipIdxs", nearSkipIdxs, MessageCollectionItemType.INT))
+ if (!writer.writeBoolean("nearSkipIdx", nearSkipIdx))
return false;
writer.incrementState();
case 8:
- if (!writer.writeMessage("nearTtls", nearTtls))
+ if (!writer.writeLong("nearTtl", nearTtl))
return false;
writer.incrementState();
case 9:
- if (!writer.writeCollection("nearVals", nearVals, MessageCollectionItemType.MSG))
+ if (!writer.writeMessage("nearVal", nearVal))
return false;
writer.incrementState();
case 10:
- if (!writer.writeCollection("nearValsIdxs", nearValsIdxs, MessageCollectionItemType.INT))
+ if (!writer.writeBoolean("nearValsIdx", nearValsIdx))
return false;
writer.incrementState();
@@ -487,7 +452,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 6:
- nearExpireTimes = reader.readMessage("nearExpireTimes");
+ nearExpireTime = reader.readLong("nearExpireTime");
if (!reader.isLastRead())
return false;
@@ -495,7 +460,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 7:
- nearSkipIdxs = reader.readCollection("nearSkipIdxs", MessageCollectionItemType.INT);
+ nearSkipIdx = reader.readBoolean("nearSkipIdx");
if (!reader.isLastRead())
return false;
@@ -503,7 +468,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 8:
- nearTtls = reader.readMessage("nearTtls");
+ nearTtl = reader.readLong("nearTtl");
if (!reader.isLastRead())
return false;
@@ -511,7 +476,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 9:
- nearVals = reader.readCollection("nearVals", MessageCollectionItemType.MSG);
+ nearVal = reader.readMessage("nearVal");
if (!reader.isLastRead())
return false;
@@ -519,7 +484,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 10:
- nearValsIdxs = reader.readCollection("nearValsIdxs", MessageCollectionItemType.INT);
+ nearValsIdx = reader.readBoolean("nearValsIdx");
if (!reader.isLastRead())
return false;
[17/20] ignite git commit: Temporary disabled tests.
Posted by vo...@apache.org.
Temporary disabled tests.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/97facf3c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/97facf3c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/97facf3c
Branch: refs/heads/ignite-2523-1
Commit: 97facf3c58aad65504e636a5eab7d807124cf8d5
Parents: 72df110
Author: sboikov <sb...@gridgain.com>
Authored: Fri Apr 29 11:06:55 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Apr 29 11:07:34 2016 +0300
----------------------------------------------------------------------
.../testsuites/IgniteCacheDataStructuresSelfTestSuite.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/97facf3c/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
index 59a18e5..09e7c4d 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
@@ -110,7 +110,7 @@ public class IgniteCacheDataStructuresSelfTestSuite extends TestSuite {
suite.addTest(new TestSuite(GridCacheLocalAtomicQueueApiSelfTest.class));
suite.addTest(new TestSuite(IgniteLocalCountDownLatchSelfTest.class));
suite.addTest(new TestSuite(IgniteLocalSemaphoreSelfTest.class));
- suite.addTest(new TestSuite(IgniteLocalLockSelfTest.class));
+ //suite.addTest(new TestSuite(IgniteLocalLockSelfTest.class));
suite.addTest(new TestSuite(GridCacheReplicatedSequenceApiSelfTest.class));
suite.addTest(new TestSuite(GridCacheReplicatedSequenceMultiNodeSelfTest.class));
@@ -121,7 +121,7 @@ public class IgniteCacheDataStructuresSelfTestSuite extends TestSuite {
suite.addTest(new TestSuite(GridCacheReplicatedDataStructuresFailoverSelfTest.class));
suite.addTest(new TestSuite(IgniteReplicatedCountDownLatchSelfTest.class));
suite.addTest(new TestSuite(IgniteReplicatedSemaphoreSelfTest.class));
- suite.addTest(new TestSuite(IgniteReplicatedLockSelfTest.class));
+ //suite.addTest(new TestSuite(IgniteReplicatedLockSelfTest.class));
suite.addTest(new TestSuite(IgniteCacheAtomicReplicatedNodeRestartSelfTest.class));
suite.addTest(new TestSuite(GridCachePartitionedSequenceApiSelfTest.class));
@@ -144,7 +144,7 @@ public class IgniteCacheDataStructuresSelfTestSuite extends TestSuite {
suite.addTest(new TestSuite(IgnitePartitionedCountDownLatchSelfTest.class));
suite.addTest(new TestSuite(IgniteDataStructureWithJobTest.class));
suite.addTest(new TestSuite(IgnitePartitionedSemaphoreSelfTest.class));
- suite.addTest(new TestSuite(IgnitePartitionedLockSelfTest.class));
+ //suite.addTest(new TestSuite(IgnitePartitionedLockSelfTest.class));
suite.addTest(new TestSuite(GridCachePartitionedSetFailoverSelfTest.class));
suite.addTest(new TestSuite(GridCachePartitionedOffheapSetFailoverSelfTest.class));
[20/20] ignite git commit: Minors.
Posted by vo...@apache.org.
Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5866b999
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5866b999
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5866b999
Branch: refs/heads/ignite-2523-1
Commit: 5866b999f09119041de254fcece5c6a0db22715f
Parents: 313af5a
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Apr 29 13:55:14 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Apr 29 13:55:14 2016 +0300
----------------------------------------------------------------------
.../distributed/dht/atomic/GridNearAtomicUpdateRequest.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/5866b999/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 97340d8..e79d31f 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
@@ -61,6 +61,10 @@ public class GridNearAtomicUpdateRequest extends GridNearAtomicAbstractUpdateReq
/** */
private static final long serialVersionUID = 0L;
+ /** Target node ID. */
+ @GridDirectTransient
+ private UUID nodeId;
+
/** Future version. */
private GridCacheVersion futVer;
@@ -155,10 +159,6 @@ public class GridNearAtomicUpdateRequest extends GridNearAtomicAbstractUpdateReq
@GridDirectTransient
private GridNearAtomicAbstractUpdateResponse res;
- /** Target node ID. */
- @GridDirectTransient
- private UUID nodeId;
-
/** Maximum possible size of inner collections. */
@GridDirectTransient
private int initSize;
[07/20] ignite git commit: Wired up single response into cache logic.
Posted by vo...@apache.org.
Wired up single response into cache logic.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fe132a5f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fe132a5f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fe132a5f
Branch: refs/heads/ignite-2523-1
Commit: fe132a5feb0d428c0c86d85e79bf669c820373c6
Parents: c011b1c
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 16:24:14 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 16:24:14 2016 +0300
----------------------------------------------------------------------
.../communication/GridIoMessageFactory.java | 6 +++++
.../processors/cache/GridCacheIoManager.java | 3 ++-
.../dht/atomic/GridDhtAtomicCache.java | 28 ++++++++++++++++++--
.../GridNearAtomicSingleUpdateFuture.java | 4 +--
.../GridNearAtomicSingleUpdateResponse.java | 2 +-
.../IgniteClientReconnectCacheTest.java | 3 ++-
6 files changed, 39 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/fe132a5f/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index e028cf4..833b5b3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -69,6 +69,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDh
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateRequest;
+import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtForceKeysRequest;
@@ -732,6 +733,11 @@ public class GridIoMessageFactory implements MessageFactory {
break;
+ case -24:
+ msg = new GridNearAtomicSingleUpdateResponse();
+
+ break;
+
// [-3..119] [124] - this
// [120..123] - DR
// [-4..-22] - SQL
http://git-wip-us.apache.org/repos/asf/ignite/blob/fe132a5f/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 4113749..1c72e5e 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
@@ -46,6 +46,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDh
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateRequest;
+import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtForceKeysRequest;
@@ -608,7 +609,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
case -23: {
GridNearAtomicSingleUpdateRequest req = (GridNearAtomicSingleUpdateRequest)msg;
- GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(
+ GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicSingleUpdateResponse(
ctx.cacheId(),
nodeId,
req.futureVersion(),
http://git-wip-us.apache.org/repos/asf/ignite/blob/fe132a5f/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 36cd098..4018663 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
@@ -274,6 +274,12 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
}
});
+ ctx.io().addHandler(ctx.cacheId(), GridNearAtomicSingleUpdateResponse.class, new CI2<UUID, GridNearAtomicSingleUpdateResponse>() {
+ @Override public void apply(UUID nodeId, GridNearAtomicSingleUpdateResponse res) {
+ processNearAtomicUpdateResponse(nodeId, res);
+ }
+ });
+
ctx.io().addHandler(ctx.cacheId(), GridDhtAtomicUpdateRequest.class, new CI2<UUID, GridDhtAtomicUpdateRequest>() {
@Override public void apply(UUID nodeId, GridDhtAtomicUpdateRequest req) {
processDhtAtomicUpdateRequest(nodeId, req);
@@ -1494,6 +1500,25 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
}
/**
+ * Create near update response.
+ *
+ * @param nodeId Node ID.
+ * @param req Request.
+ * @return Response.
+ */
+ private GridNearAtomicAbstractUpdateResponse createNearResponse(UUID nodeId,
+ GridNearAtomicAbstractUpdateRequest req) {
+ if (req.isSingle()) {
+ return new GridNearAtomicSingleUpdateResponse(ctx.cacheId(), nodeId, req.futureVersion(),
+ ctx.deploymentEnabled());
+ }
+ else {
+ return new GridNearAtomicUpdateResponse(ctx.cacheId(), nodeId, req.futureVersion(),
+ ctx.deploymentEnabled());
+ }
+ }
+
+ /**
* Executes local update after preloader fetched values.
*
* @param nodeId Node ID.
@@ -1505,8 +1530,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
GridNearAtomicAbstractUpdateRequest req,
CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb
) {
- GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(ctx.cacheId(), nodeId,
- req.futureVersion(), ctx.deploymentEnabled());
+ GridNearAtomicAbstractUpdateResponse res = createNearResponse(nodeId, req);
assert !req.returnValue() || (req.operation() == TRANSFORM || req.keysCount() == 1);
http://git-wip-us.apache.org/repos/asf/ignite/blob/fe132a5f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
index 064e067..a6cff49 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
@@ -153,7 +153,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
this.req : null;
if (req != null && req.response() == null) {
- res = new GridNearAtomicUpdateResponse(cctx.cacheId(),
+ res = new GridNearAtomicSingleUpdateResponse(cctx.cacheId(),
nodeId,
req.futureVersion(),
cctx.deploymentEnabled());
@@ -492,7 +492,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
*/
void onSendError(GridNearAtomicAbstractUpdateRequest req, IgniteCheckedException e) {
synchronized (mux) {
- GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(cctx.cacheId(),
+ GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicSingleUpdateResponse(cctx.cacheId(),
req.nodeId(),
req.futureVersion(),
cctx.deploymentEnabled());
http://git-wip-us.apache.org/repos/asf/ignite/blob/fe132a5f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
index 7a7c04d..9ec6fcf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
@@ -522,7 +522,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** {@inheritDoc} */
@Override public byte directType() {
- return 41;
+ return -24;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/fe132a5f/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
index 8451a55..f1eac1a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
@@ -51,6 +51,7 @@ import org.apache.ignite.events.DiscoveryEvent;
import org.apache.ignite.events.Event;
import org.apache.ignite.internal.managers.communication.GridIoMessage;
import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager;
+import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsFullMessage;
import org.apache.ignite.internal.processors.cache.distributed.near.GridNearGetResponse;
@@ -815,7 +816,7 @@ public class IgniteClientReconnectCacheTest extends IgniteClientReconnectAbstrac
Collection<Class> clss = new HashSet<>();
clss.add(GridNearAtomicUpdateResponse.class);
- // TODO: Add single.
+ clss.add(GridNearAtomicSingleUpdateResponse.class);
checkOperationInProgressFails(client, ccfg, clss, putOp);
}
[16/20] ignite git commit: IGNITE-2957 .NET: Added
IIgnite.CacheNames() method. This closes #675.
Posted by vo...@apache.org.
IGNITE-2957 .NET: Added IIgnite.CacheNames() method. This closes #675.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/72df1104
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/72df1104
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/72df1104
Branch: refs/heads/ignite-2523-1
Commit: 72df110499962c177857cbeff368528094535f5c
Parents: 8dd6f19
Author: Pavel Tupitsyn <pt...@gridgain.com>
Authored: Fri Apr 29 10:26:57 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Apr 29 10:26:57 2016 +0300
----------------------------------------------------------------------
.../platform/PlatformNoopProcessor.java | 5 +++++
.../processors/platform/PlatformProcessor.java | 7 +++++++
.../platform/PlatformProcessorImpl.java | 15 +++++++++++++++
.../cpp/common/include/ignite/common/exports.h | 1 +
.../cpp/common/include/ignite/common/java.h | 2 ++
.../platforms/cpp/common/project/vs/module.def | 1 +
modules/platforms/cpp/common/src/exports.cpp | 4 ++++
modules/platforms/cpp/common/src/java.cpp | 11 +++++++++++
.../Cache/CacheAbstractTest.cs | 18 ++++++++++++++++++
.../dotnet/Apache.Ignite.Core/IIgnite.cs | 8 ++++++++
.../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 18 ++++++++++++++++++
.../dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs | 7 +++++++
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 3 +++
.../Impl/Unmanaged/UnmanagedUtils.cs | 5 +++++
14 files changed, 105 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java
index 155981c..cdf418f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformNoopProcessor.java
@@ -152,6 +152,11 @@ public class PlatformNoopProcessor extends GridProcessorAdapter implements Platf
}
/** {@inheritDoc} */
+ @Override public void getCacheNames(long memPtr) {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
@Override public PlatformTarget atomicSequence(String name, long initVal, boolean create) throws IgniteException {
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java
index cca29d8..fc42b68 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessor.java
@@ -235,6 +235,13 @@ public interface PlatformProcessor extends GridProcessor {
public void getIgniteConfiguration(long memPtr);
/**
+ * Gets the cache names.
+ *
+ * @param memPtr Stream to write data to.
+ */
+ public void getCacheNames(long memPtr);
+
+ /**
* Starts a near cache on local node if cache was previously started.
*
* @param cacheName Cache name.
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessorImpl.java
index e294735..5830d37 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessorImpl.java
@@ -415,6 +415,21 @@ public class PlatformProcessorImpl extends GridProcessorAdapter implements Platf
}
/** {@inheritDoc} */
+ @Override public void getCacheNames(long memPtr) {
+ PlatformOutputStream stream = platformCtx.memory().get(memPtr).output();
+ BinaryRawWriterEx writer = platformCtx.writer(stream);
+
+ Collection<String> names = ignite().cacheNames();
+
+ writer.writeInt(names.size());
+
+ for (String name : names)
+ writer.writeString(name);
+
+ stream.synchronize();
+ }
+
+ /** {@inheritDoc} */
@Override public PlatformTarget createNearCache(@Nullable String cacheName, long memPtr) {
NearCacheConfiguration cfg = getNearCacheConfiguration(memPtr);
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/cpp/common/include/ignite/common/exports.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/include/ignite/common/exports.h b/modules/platforms/cpp/common/include/ignite/common/exports.h
index c62b365..5798c83 100644
--- a/modules/platforms/cpp/common/include/ignite/common/exports.h
+++ b/modules/platforms/cpp/common/include/ignite/common/exports.h
@@ -53,6 +53,7 @@ extern "C" {
void* IGNITE_CALL IgniteProcessorAtomicSequence(gcj::JniContext* ctx, void* obj, char* name, long long initVal, bool create);
void* IGNITE_CALL IgniteProcessorAtomicReference(gcj::JniContext* ctx, void* obj, char* name, long long memPtr, bool create);
void IGNITE_CALL IgniteProcessorGetIgniteConfiguration(gcj::JniContext* ctx, void* obj, long long memPtr);
+ void IGNITE_CALL IgniteProcessorGetCacheNames(gcj::JniContext* ctx, void* obj, long long memPtr);
long long IGNITE_CALL IgniteTargetInStreamOutLong(gcj::JniContext* ctx, void* obj, int opType, long long memPtr);
void IGNITE_CALL IgniteTargetInStreamOutStream(gcj::JniContext* ctx, void* obj, int opType, long long inMemPtr, long long outMemPtr);
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/cpp/common/include/ignite/common/java.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/include/ignite/common/java.h b/modules/platforms/cpp/common/include/ignite/common/java.h
index f2007cb..7deb5ef 100644
--- a/modules/platforms/cpp/common/include/ignite/common/java.h
+++ b/modules/platforms/cpp/common/include/ignite/common/java.h
@@ -319,6 +319,7 @@ namespace ignite
jmethodID m_PlatformProcessor_extensions;
jmethodID m_PlatformProcessor_atomicLong;
jmethodID m_PlatformProcessor_getIgniteConfiguration;
+ jmethodID m_PlatformProcessor_getCacheNames;
jmethodID m_PlatformProcessor_atomicSequence;
jmethodID m_PlatformProcessor_atomicReference;
@@ -537,6 +538,7 @@ namespace ignite
jobject ProcessorAtomicSequence(jobject obj, char* name, long long initVal, bool create);
jobject ProcessorAtomicReference(jobject obj, char* name, long long memPtr, bool create);
void ProcessorGetIgniteConfiguration(jobject obj, long long memPtr);
+ void ProcessorGetCacheNames(jobject obj, long long memPtr);
long long TargetInStreamOutLong(jobject obj, int type, long long memPtr, JniErrorInfo* errInfo = NULL);
void TargetInStreamOutStream(jobject obj, int opType, long long inMemPtr, long long outMemPtr, JniErrorInfo* errInfo = NULL);
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/cpp/common/project/vs/module.def
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/project/vs/module.def b/modules/platforms/cpp/common/project/vs/module.def
index 57e58f3..5f2e941 100644
--- a/modules/platforms/cpp/common/project/vs/module.def
+++ b/modules/platforms/cpp/common/project/vs/module.def
@@ -132,3 +132,4 @@ IgniteAtomicReferenceIsClosed @129
IgniteAtomicReferenceClose @130
IgniteProcessorCreateNearCache @131
IgniteProcessorGetOrCreateNearCache @132
+IgniteProcessorGetCacheNames @133
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/cpp/common/src/exports.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/src/exports.cpp b/modules/platforms/cpp/common/src/exports.cpp
index 0d951b6..43ccb7a 100644
--- a/modules/platforms/cpp/common/src/exports.cpp
+++ b/modules/platforms/cpp/common/src/exports.cpp
@@ -134,6 +134,10 @@ extern "C" {
return ctx->ProcessorGetIgniteConfiguration(static_cast<jobject>(obj), memPtr);
}
+ void IGNITE_CALL IgniteProcessorGetCacheNames(gcj::JniContext* ctx, void* obj, long long memPtr) {
+ return ctx->ProcessorGetCacheNames(static_cast<jobject>(obj), memPtr);
+ }
+
long long IGNITE_CALL IgniteTargetInStreamOutLong(gcj::JniContext* ctx, void* obj, int opType, long long memPtr) {
return ctx->TargetInStreamOutLong(static_cast<jobject>(obj), opType, memPtr);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/cpp/common/src/java.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/src/java.cpp b/modules/platforms/cpp/common/src/java.cpp
index 081a606..663e2b1 100644
--- a/modules/platforms/cpp/common/src/java.cpp
+++ b/modules/platforms/cpp/common/src/java.cpp
@@ -208,6 +208,7 @@ namespace ignite
JniMethod M_PLATFORM_PROCESSOR_ATOMIC_SEQUENCE = JniMethod("atomicSequence", "(Ljava/lang/String;JZ)Lorg/apache/ignite/internal/processors/platform/PlatformTarget;", false);
JniMethod M_PLATFORM_PROCESSOR_ATOMIC_REFERENCE = JniMethod("atomicReference", "(Ljava/lang/String;JZ)Lorg/apache/ignite/internal/processors/platform/PlatformTarget;", false);
JniMethod M_PLATFORM_PROCESSOR_GET_IGNITE_CONFIGURATION = JniMethod("getIgniteConfiguration", "(J)V", false);
+ JniMethod M_PLATFORM_PROCESSOR_GET_CACHE_NAMES = JniMethod("getCacheNames", "(J)V", false);
const char* C_PLATFORM_TARGET = "org/apache/ignite/internal/processors/platform/PlatformTarget";
JniMethod M_PLATFORM_TARGET_IN_STREAM_OUT_LONG = JniMethod("inStreamOutLong", "(IJ)J", false);
@@ -679,6 +680,7 @@ namespace ignite
m_PlatformProcessor_atomicSequence = FindMethod(env, c_PlatformProcessor, M_PLATFORM_PROCESSOR_ATOMIC_SEQUENCE);
m_PlatformProcessor_atomicReference = FindMethod(env, c_PlatformProcessor, M_PLATFORM_PROCESSOR_ATOMIC_REFERENCE);
m_PlatformProcessor_getIgniteConfiguration = FindMethod(env, c_PlatformProcessor, M_PLATFORM_PROCESSOR_GET_IGNITE_CONFIGURATION);
+ m_PlatformProcessor_getCacheNames = FindMethod(env, c_PlatformProcessor, M_PLATFORM_PROCESSOR_GET_CACHE_NAMES);
c_PlatformTarget = FindClass(env, C_PLATFORM_TARGET);
m_PlatformTarget_inStreamOutLong = FindMethod(env, c_PlatformTarget, M_PLATFORM_TARGET_IN_STREAM_OUT_LONG);
@@ -1462,6 +1464,15 @@ namespace ignite
ExceptionCheck(env);
}
+ void JniContext::ProcessorGetCacheNames(jobject obj, long long memPtr)
+ {
+ JNIEnv* env = Attach();
+
+ env->CallVoidMethod(obj, jvm->GetMembers().m_PlatformProcessor_getCacheNames, memPtr);
+
+ ExceptionCheck(env);
+ }
+
long long JniContext::TargetInStreamOutLong(jobject obj, int opType, long long memPtr, JniErrorInfo* err) {
JNIEnv* env = Attach();
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
index 9f0528c..62dc2df 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
@@ -3062,8 +3062,10 @@ namespace Apache.Ignite.Core.Tests.Cache
// Can't get non-existent cache with Cache method
Assert.Throws<ArgumentException>(() => GetIgnite(0).GetCache<int, int>(randomName));
+ Assert.IsFalse(GetIgnite(0).GetCacheNames().Contains(randomName));
var cache = GetIgnite(0).CreateCache<int, int>(randomName);
+ Assert.IsTrue(GetIgnite(0).GetCacheNames().Contains(randomName));
cache.Put(1, 10);
@@ -3111,9 +3113,12 @@ namespace Apache.Ignite.Core.Tests.Cache
var cache = ignite.CreateCache<int, int>(cacheName);
Assert.IsNotNull(ignite.GetCache<int, int>(cacheName));
+ Assert.IsTrue(GetIgnite(0).GetCacheNames().Contains(cacheName));
ignite.DestroyCache(cache.Name);
+ Assert.IsFalse(GetIgnite(0).GetCacheNames().Contains(cacheName));
+
var ex = Assert.Throws<ArgumentException>(() => ignite.GetCache<int, int>(cacheName));
Assert.IsTrue(ex.Message.StartsWith("Cache doesn't exist"));
@@ -3121,6 +3126,19 @@ namespace Apache.Ignite.Core.Tests.Cache
Assert.Throws<InvalidOperationException>(() => cache.Get(1));
}
+ [Test]
+ public void TestCacheNames()
+ {
+ var cacheNames = GetIgnite(0).GetCacheNames();
+ var expectedNames = new[]
+ {
+ "local", "local_atomic", "partitioned", "partitioned_atomic",
+ "partitioned_near", "partitioned_atomic_near", "replicated", "replicated_atomic"
+ };
+
+ Assert.AreEqual(0, expectedNames.Except(cacheNames).Count());
+ }
+
[Test]
public void TestIndexer()
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs b/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
index 428c1a8..b45c625 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IIgnite.cs
@@ -18,6 +18,7 @@
namespace Apache.Ignite.Core
{
using System;
+ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Apache.Ignite.Core.Binary;
using Apache.Ignite.Core.Cache;
@@ -266,5 +267,12 @@ namespace Apache.Ignite.Core
/// <typeparam name="TV">Cache value type.</typeparam>
/// <returns>Near cache instance.</returns>
ICache<TK, TV> GetOrCreateNearCache<TK, TV>(string name, NearCacheConfiguration configuration);
+
+ /// <summary>
+ /// Gets the collection of names of currently available caches, or empty collection if there are no caches.
+ /// Note that null string is a valid cache name.
+ /// </summary>
+ /// <returns>Collection of names of currently available caches.</returns>
+ ICollection<string> GetCacheNames();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
index b84ff29..aee82a7 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Ignite.cs
@@ -622,6 +622,24 @@ namespace Apache.Ignite.Core.Impl
return GetOrCreateNearCache0<TK, TV>(name, configuration, UU.ProcessorGetOrCreateNearCache);
}
+ /** <inheritdoc /> */
+ public ICollection<string> GetCacheNames()
+ {
+ using (var stream = IgniteManager.Memory.Allocate(1024).GetStream())
+ {
+ UU.ProcessorGetCacheNames(_proc, stream.MemoryPointer);
+ stream.SynchronizeInput();
+
+ var reader = _marsh.StartUnmarshal(stream);
+ var res = new string[stream.ReadInt()];
+
+ for (int i = 0; i < res.Length; i++)
+ res[i] = reader.ReadString();
+
+ return res;
+ }
+ }
+
/// <summary>
/// Gets or creates near cache.
/// </summary>
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
index a767077..0ad056a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteProxy.cs
@@ -366,12 +366,19 @@ namespace Apache.Ignite.Core.Impl
return _ignite.CreateNearCache<TK, TV>(name, configuration);
}
+ /** <inheritdoc /> */
public ICache<TK, TV> GetOrCreateNearCache<TK, TV>(string name, NearCacheConfiguration configuration)
{
return _ignite.GetOrCreateNearCache<TK, TV>(name, configuration);
}
/** <inheritdoc /> */
+ public ICollection<string> GetCacheNames()
+ {
+ return _ignite.GetCacheNames();
+ }
+
+ /** <inheritdoc /> */
public IAtomicSequence GetAtomicSequence(string name, long initialValue, bool create)
{
return _ignite.GetAtomicSequence(name, initialValue, create);
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
index 2603841..bb26382 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
@@ -110,6 +110,9 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
[DllImport(IgniteUtils.FileIgniteJniDll, EntryPoint = "IgniteProcessorGetIgniteConfiguration")]
public static extern void ProcessorGetIgniteConfiguration(void* ctx, void* obj, long memPtr);
+ [DllImport(IgniteUtils.FileIgniteJniDll, EntryPoint = "IgniteProcessorGetCacheNames")]
+ public static extern void ProcessorGetCacheNames(void* ctx, void* obj, long memPtr);
+
[DllImport(IgniteUtils.FileIgniteJniDll, EntryPoint = "IgniteTargetInStreamOutLong")]
public static extern long TargetInStreamOutLong(void* ctx, void* target, int opType, long memPtr);
http://git-wip-us.apache.org/repos/asf/ignite/blob/72df1104/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
index f8b5256..a0abfaa 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
@@ -356,6 +356,11 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
JNI.ProcessorGetIgniteConfiguration(target.Context, target.Target, memPtr);
}
+ internal static void ProcessorGetCacheNames(IUnmanagedTarget target, long memPtr)
+ {
+ JNI.ProcessorGetCacheNames(target.Context, target.Target, memPtr);
+ }
+
#endregion
#region NATIVE METHODS: TARGET
[15/20] ignite git commit: Merge branch 'master' into
ignite-2523-1-resp
Posted by vo...@apache.org.
Merge branch 'master' into ignite-2523-1-resp
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bc3a3969
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bc3a3969
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bc3a3969
Branch: refs/heads/ignite-2523-1
Commit: bc3a39690b66b0395524e60c60f1c592e9c3d6d9
Parents: 834c9da 8dd6f19
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Apr 29 09:02:08 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Apr 29 09:02:08 2016 +0300
----------------------------------------------------------------------
.../cache/BinaryObjectOffHeapUnswapTemporaryTest.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
[08/20] ignite git commit: Minors.
Posted by vo...@apache.org.
Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f64cdcce
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f64cdcce
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f64cdcce
Branch: refs/heads/ignite-2523-1
Commit: f64cdcced0b50002820e448429e6ad15f4308068
Parents: fe132a5
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 16:31:32 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 16:31:32 2016 +0300
----------------------------------------------------------------------
.../dht/atomic/GridNearAtomicAbstractUpdateResponse.java | 5 +++++
.../dht/atomic/GridNearAtomicSingleUpdateResponse.java | 5 +++++
.../distributed/dht/atomic/GridNearAtomicUpdateResponse.java | 8 ++++++--
3 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f64cdcce/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
index e945604..56bdd66 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
@@ -198,4 +198,9 @@ public abstract class GridNearAtomicAbstractUpdateResponse extends GridCacheMess
* @param e Error cause.
*/
public abstract void addFailedKeys(GridNearAtomicAbstractUpdateRequest req, Throwable e);
+
+ /**
+ * @return {@code True} is this is a response for a single key-value pair update.
+ */
+ public abstract boolean isSingle();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f64cdcce/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
index 9ec6fcf..fcb7afc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
@@ -293,6 +293,11 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
err.addSuppressed(e);
}
+ /** {@inheritDoc} */
+ @Override public boolean isSingle() {
+ return true;
+ }
+
/** {@inheritDoc}
* @param ctx*/
@Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
http://git-wip-us.apache.org/repos/asf/ignite/blob/f64cdcce/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index 7e27657..34d3fe3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -330,8 +330,12 @@ public class GridNearAtomicUpdateResponse extends GridNearAtomicAbstractUpdateRe
err.addSuppressed(e);
}
- /** {@inheritDoc}
- * @param ctx*/
+ /** {@inheritDoc} */
+ @Override public boolean isSingle() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
super.prepareMarshal(ctx);
[09/20] ignite git commit: Reworked "failedKey" - now it is a flag.
Posted by vo...@apache.org.
Reworked "failedKey" - now it is a flag.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4372eb51
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4372eb51
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4372eb51
Branch: refs/heads/ignite-2523-1
Commit: 4372eb51f83a2b72ae10e72db7710dba3d13d8b2
Parents: f64cdcc
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 16:35:50 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 16:35:50 2016 +0300
----------------------------------------------------------------------
.../dht/atomic/GridDhtAtomicCache.java | 2 +-
.../GridNearAtomicAbstractUpdateResponse.java | 3 ++-
.../GridNearAtomicSingleUpdateFuture.java | 3 ++-
.../GridNearAtomicSingleUpdateResponse.java | 21 ++++++++++----------
.../dht/atomic/GridNearAtomicUpdateFuture.java | 3 ++-
.../atomic/GridNearAtomicUpdateResponse.java | 2 +-
.../distributed/near/GridNearAtomicCache.java | 2 +-
7 files changed, 19 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/4372eb51/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 4018663..4c5d46c 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
@@ -218,7 +218,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
Collection<KeyCacheObject> failedKeys = new ArrayList<>(res.failedKeysCount());
for (int i = 0; i < res.failedKeysCount(); i++)
- failedKeys.add(res.failedKey(i));
+ failedKeys.add(res.failedKey(req, i));
U.error(log, "Failed to process write update request in FULL_ASYNC mode for keys: " +
failedKeys, res.error());
http://git-wip-us.apache.org/repos/asf/ignite/blob/4372eb51/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
index 56bdd66..4fb6b32 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
@@ -77,10 +77,11 @@ public abstract class GridNearAtomicAbstractUpdateResponse extends GridCacheMess
public abstract int failedKeysCount();
/**
+ * @param req Request.
* @param idx Index.
* @return Failed key.
*/
- public abstract KeyCacheObject failedKey(int idx);
+ public abstract KeyCacheObject failedKey(GridNearAtomicAbstractUpdateRequest req, int idx);
/**
* @return Return value.
http://git-wip-us.apache.org/repos/asf/ignite/blob/4372eb51/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
index a6cff49..9448d74 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
@@ -248,7 +248,8 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
Collection<Object> keys = new ArrayList<>(res.failedKeysCount());
for (int i = 0; i < res.failedKeysCount(); i++)
- keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(res.failedKey(i), keepBinary, false));
+ keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(
+ res.failedKey(req, i), keepBinary, false));
err.add(keys, res.error(), req.topologyVersion());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4372eb51/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
index fcb7afc..41fa699 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
@@ -64,7 +64,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** Failed keys. */
@GridToStringInclude
- private volatile KeyCacheObject failedKey;
+ private volatile boolean failedKey;
/** Keys that should be remapped. */
@GridToStringInclude
@@ -138,14 +138,15 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** {@inheritDoc} */
@Override public int failedKeysCount() {
- return failedKey == null ? 0 : 1;
+ return failedKey ? 1 : 0;
}
/** {@inheritDoc} */
- @Override public KeyCacheObject failedKey(int idx) {
+ @Override public KeyCacheObject failedKey(GridNearAtomicAbstractUpdateRequest req, int idx) {
assert idx == 0;
+ assert failedKey;
- return failedKey;
+ return req.key(0);
}
/** {@inheritDoc} */
@@ -256,7 +257,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** {@inheritDoc} */
@Override public synchronized void addFailedKey(KeyCacheObject key, Throwable e) {
- failedKey = key;
+ failedKey = true;
setFailedKeysError(e);
}
@@ -266,7 +267,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
if (keys != null) {
assert keys.size() == 1;
- failedKey = keys.iterator().next();
+ failedKey = true;
}
setFailedKeysError(e);
@@ -276,7 +277,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
@Override public synchronized void addFailedKeys(GridNearAtomicAbstractUpdateRequest req, Throwable e) {
assert req instanceof GridNearAtomicSingleUpdateRequest;
- failedKey = req.key(0);
+ failedKey = true;
setFailedKeysError(e);
}
@@ -308,7 +309,6 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
GridCacheContext cctx = ctx.cacheContext(cacheId);
- prepareMarshalCacheObject(failedKey, cctx);
prepareMarshalCacheObject(remapKey, cctx);
prepareMarshalCacheObject(nearVal, cctx);
@@ -325,7 +325,6 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
GridCacheContext cctx = ctx.cacheContext(cacheId);
- finishUnmarshalCacheObject(failedKey, cctx, ldr);
finishUnmarshalCacheObject(remapKey, cctx, ldr);
finishUnmarshalCacheObject(nearVal, cctx, ldr);
@@ -357,7 +356,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
writer.incrementState();
case 4:
- if (!writer.writeMessage("failedKey", failedKey))
+ if (!writer.writeBoolean("failedKey", failedKey))
return false;
writer.incrementState();
@@ -441,7 +440,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 4:
- failedKey = reader.readMessage("failedKey");
+ failedKey = reader.readBoolean("failedKey");
if (!reader.isLastRead())
return false;
http://git-wip-us.apache.org/repos/asf/ignite/blob/4372eb51/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 07071f2..a858bca 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
@@ -319,7 +319,8 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
Collection<Object> keys = new ArrayList<>(res.failedKeysCount());
for (int i = 0; i < res.failedKeysCount(); i++)
- keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(res.failedKey(i), keepBinary, false));
+ keys.add(cctx.cacheObjectContext().unwrapBinaryIfNeeded(
+ res.failedKey(req, i), keepBinary, false));
err.add(keys, res.error(), req.topologyVersion());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4372eb51/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index 34d3fe3..c14e376 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -151,7 +151,7 @@ public class GridNearAtomicUpdateResponse extends GridNearAtomicAbstractUpdateRe
}
/** {@inheritDoc} */
- @Override public KeyCacheObject failedKey(int idx) {
+ @Override public KeyCacheObject failedKey(GridNearAtomicAbstractUpdateRequest req, int idx) {
return failedKeys.get(idx);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/4372eb51/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
index 995b948..97be2eb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -156,7 +156,7 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
boolean failed = false;
for (int j = 0; j < res.failedKeysCount(); j++) {
- if (F.eq(res.failedKey(j), key)) {
+ if (F.eq(res.failedKey(req, j), key)) {
failed = true;
break;
[18/20] ignite git commit: IGNITE-3041: Implement config variations
test for IgniteServices
Posted by vo...@apache.org.
IGNITE-3041: Implement config variations test for IgniteServices
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6c705daa
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6c705daa
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6c705daa
Branch: refs/heads/ignite-2523-1
Commit: 6c705daa9c9c3a6540d582f8ef1195cccf4e7849
Parents: 97facf3
Author: sboikov <sb...@gridgain.com>
Authored: Fri Apr 29 12:21:02 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Apr 29 12:21:02 2016 +0300
----------------------------------------------------------------------
...gniteServiceConfigVariationsFullApiTest.java | 350 +++++++++++++++++++
.../configvariations/VariationsTestsConfig.java | 2 +-
.../IgniteConfigVariationsAbstractTest.java | 72 +++-
...ServiceConfigVariationsFullApiTestSuite.java | 92 +++++
4 files changed, 507 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/6c705daa/modules/core/src/test/java/org/apache/ignite/internal/processors/service/IgniteServiceConfigVariationsFullApiTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/service/IgniteServiceConfigVariationsFullApiTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/IgniteServiceConfigVariationsFullApiTest.java
new file mode 100644
index 0000000..4e6d1e6
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/service/IgniteServiceConfigVariationsFullApiTest.java
@@ -0,0 +1,350 @@
+/*
+ * 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.service;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.io.Serializable;
+import java.util.concurrent.ThreadLocalRandom;
+import javax.cache.configuration.Factory;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.IgniteServices;
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.binary.BinaryReader;
+import org.apache.ignite.binary.BinaryWriter;
+import org.apache.ignite.binary.Binarylizable;
+import org.apache.ignite.internal.IgniteEx;
+import org.apache.ignite.services.Service;
+import org.apache.ignite.services.ServiceConfiguration;
+import org.apache.ignite.services.ServiceContext;
+import org.apache.ignite.testframework.configvariations.Parameters;
+import org.apache.ignite.testframework.junits.IgniteConfigVariationsAbstractTest;
+
+/**
+ * Full API services test.
+ */
+public class IgniteServiceConfigVariationsFullApiTest extends IgniteConfigVariationsAbstractTest {
+ /** Test service name. */
+ private static final String SERVICE_NAME = "testService";
+
+ /** Test service name. */
+ private static final String CACHE_NAME = "testCache";
+
+ /** */
+ protected static final int CLIENT_NODE_IDX_2 = 4;
+
+ /** Test object id counter. */
+ private static int cntr;
+
+ /** Callable factories. */
+ @SuppressWarnings("unchecked")
+ private static final Factory[] serviceFactories = new Factory[] {
+ Parameters.factory(TestServiceImpl.class),
+ Parameters.factory(TestServiceImplExternalizable.class),
+ Parameters.factory(TestServiceImplBinarylizable.class)
+ };
+
+ /** {@inheritDoc} */
+ @Override protected boolean expectedClient(String testGridName) {
+ int i = testsCfg.gridCount();
+
+ if (i < 5)
+ return super.expectedClient(testGridName);
+
+ // Use two client nodes if grid index 5 or greater.
+ return getTestGridName(CLIENT_NODE_IDX).equals(testGridName)
+ || getTestGridName(CLIENT_NODE_IDX_2).equals(testGridName);
+ }
+
+ /**
+ * Test node singleton deployment
+ *
+ * @throws Exception If failed.
+ */
+ public void testNodeSingletonDeploy() throws Exception {
+ runInAllDataModes(new ServiceTestRunnable(true, new DeployClosure() {
+ @Override public void run(IgniteServices services, String svcName, TestService svc) {
+ services.deployNodeSingleton(svcName, (Service)svc);
+ }
+ }));
+ }
+
+ /**
+ * Test cluster singleton deployment
+ *
+ * @throws Exception If failed.
+ */
+ public void testClusterSingletonDeploy() throws Exception {
+ runInAllDataModes(new ServiceTestRunnable(false, new DeployClosure() {
+ @Override public void run(IgniteServices services, String svcName, TestService svc) {
+ services.deployClusterSingleton(svcName, (Service)svc);
+ }
+ }));
+ }
+
+ /**
+ * Test key affinity deployment
+ *
+ * @throws Exception If failed.
+ */
+ public void testKeyAffinityDeploy() throws Exception {
+ runInAllDataModes(new ServiceTestRunnable(false, new DeployClosure() {
+ @Override public void run(IgniteServices services, String svcName, TestService svc) {
+ IgniteCache<Object, Object> cache = grid(testedNodeIdx).getOrCreateCache(CACHE_NAME);
+
+ services.deployKeyAffinitySingleton(svcName, (Service)svc, cache.getName(), "1");
+ }
+ }));
+ }
+
+ /**
+ * Tests multiple deployment
+ *
+ * @throws Exception If failed.
+ */
+ public void testMultipleDeploy() throws Exception {
+ runInAllDataModes(new ServiceTestRunnable(true, new DeployClosure() {
+ @Override public void run(IgniteServices services, String svcName, TestService svc) {
+ services.deployMultiple(svcName, (Service)svc, 0, 1);
+ }
+ }));
+ }
+
+ /**
+ * Tests deployment.
+ *
+ * @throws Exception If failed.
+ */
+ public void testDeploy() throws Exception {
+ runInAllDataModes(new ServiceTestRunnable(false, new DeployClosure() {
+ @Override public void run(IgniteServices services, String svcName, TestService svc) {
+ services.deployClusterSingleton(svcName, (Service)svc);
+
+ ServiceConfiguration cfg = new ServiceConfiguration();
+
+ cfg.setName(svcName);
+
+ cfg.setService((Service)svc);
+
+ cfg.setTotalCount(1);
+
+ cfg.setMaxPerNodeCount(1);
+
+ cfg.setNodeFilter(services.clusterGroup().predicate());
+
+ services.deploy(cfg);
+ }
+ }));
+ }
+
+ /**
+ * Service test closure
+ */
+ private class ServiceTestRunnable implements TestRunnable {
+ /** Sticky. */
+ private final boolean sticky;
+
+ /** Deploy closure */
+ private final DeployClosure deployC;
+
+ /**
+ * Default constructor.
+ *
+ * @param sticky Sticky flag.
+ * @param deployC Closure.
+ */
+ public ServiceTestRunnable(boolean sticky, DeployClosure deployC) {
+ this.sticky = sticky;
+
+ this.deployC = deployC;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void run() throws Exception {
+ for (Factory factory : serviceFactories)
+ testService((TestService)factory.create(), sticky, deployC);
+ }
+ }
+
+ /**
+ *
+ */
+ interface DeployClosure {
+ /**
+ * @param services Services.
+ * @param svcName Service name.
+ * @param svc Service.
+ */
+ void run(IgniteServices services, String svcName, TestService svc);
+ }
+
+ /**
+ * Tests deployment and contract.
+ *
+ * @param svc Service.
+ * @param sticky Sticky.
+ * @param deployC Closure.
+ * @throws Exception If failed.
+ */
+ protected void testService(TestService svc, boolean sticky, DeployClosure deployC) throws Exception {
+ IgniteEx ignite = testedGrid();
+
+ IgniteServices services = ignite.services();
+
+ Object expected = value(++cntr);
+
+ // Put value for testing Service instance serialization.
+ svc.setValue(expected);
+
+ deployC.run(services, SERVICE_NAME, svc);
+
+ // Expect correct value from local instance.
+ assertEquals(expected, svc.getValue());
+
+ // Use stickiness to make sure data will be fetched from the same instance.
+ TestService proxy = services.serviceProxy(SERVICE_NAME, TestService.class, sticky);
+
+ // Expect that correct value is returned from deployed instance.
+ assertEquals(expected, proxy.getValue());
+
+ expected = value(++cntr);
+
+ // Change value.
+ proxy.setValue(expected);
+
+ // Expect correct value after being read back.
+ int r = 1000;
+
+ while(r-- > 0)
+ assertEquals(expected, proxy.getValue());
+
+ assertEquals("Expected 1 deployed service", 1, services.serviceDescriptors().size());
+
+ // Randomize stop method invocation
+ boolean tmp = ThreadLocalRandom.current().nextBoolean();
+
+ if (tmp)
+ services.cancelAll();
+ else
+ services.cancel(SERVICE_NAME);
+ }
+
+ /**
+ * Test service
+ */
+ public interface TestService {
+ /**
+ * @param o argument to set.
+ */
+ void setValue(Object o);
+
+ /**
+ * @return Argument
+ * @throws Exception If failed.
+ */
+ Object getValue() throws Exception;
+ }
+
+ /**
+ * Implementation for {@link TestService}
+ */
+ public static class TestServiceImpl implements Service, TestService, Serializable {
+ /** Test value. */
+ protected Object val;
+
+ /**
+ * Default constructor.
+ */
+ public TestServiceImpl() {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object getValue() throws Exception {
+ return val;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void cancel(ServiceContext ctx) {
+ // No-op
+ }
+
+ /** {@inheritDoc} */
+ @Override public void init(ServiceContext ctx) throws Exception {
+ // No-op
+ }
+
+ /** {@inheritDoc} */
+ @Override public void execute(ServiceContext ctx) throws Exception {
+ // No-op
+ }
+
+ /** {@inheritDoc} */
+ public void setValue(Object val) {
+ this.val = val;
+ }
+ }
+
+ /**
+ * Echo service, externalizable object
+ */
+ @SuppressWarnings({"PublicInnerClass"})
+ public static class TestServiceImplExternalizable extends TestServiceImpl implements Externalizable {
+ /**
+ * Default constructor.
+ */
+ public TestServiceImplExternalizable() {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeObject(val);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ val = in.readObject();
+ }
+ }
+
+ /**
+ * Echo service, binarylizable object
+ */
+ @SuppressWarnings({"PublicInnerClass"})
+ public static class TestServiceImplBinarylizable extends TestServiceImpl implements Binarylizable {
+ /**
+ * Default constructor.
+ */
+ public TestServiceImplBinarylizable() {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeBinary(BinaryWriter writer) throws BinaryObjectException {
+ writer.writeObject("arg", val);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readBinary(BinaryReader reader) throws BinaryObjectException {
+ val = reader.readObject("arg");
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6c705daa/modules/core/src/test/java/org/apache/ignite/testframework/configvariations/VariationsTestsConfig.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/configvariations/VariationsTestsConfig.java b/modules/core/src/test/java/org/apache/ignite/testframework/configvariations/VariationsTestsConfig.java
index 7bcfc7f..929b0c8 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/configvariations/VariationsTestsConfig.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/configvariations/VariationsTestsConfig.java
@@ -70,7 +70,7 @@ public class VariationsTestsConfig {
* @param factory Factory.
* @param desc Config description.
* @param stopNodes Stope nodes.
- * @param gridCnt Grdi count.
+ * @param gridCnt Grid count.
*/
public VariationsTestsConfig(
ConfigFactory factory,
http://git-wip-us.apache.org/repos/asf/ignite/blob/6c705daa/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteConfigVariationsAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteConfigVariationsAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteConfigVariationsAbstractTest.java
index 258eba8..3b8c046 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteConfigVariationsAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteConfigVariationsAbstractTest.java
@@ -27,6 +27,10 @@ import java.io.ObjectOutputStream;
import java.io.Serializable;
import org.apache.commons.io.FileUtils;
import org.apache.ignite.Ignition;
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.binary.BinaryReader;
+import org.apache.ignite.binary.BinaryWriter;
+import org.apache.ignite.binary.Binarylizable;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -200,12 +204,12 @@ public abstract class IgniteConfigVariationsAbstractTest extends GridCommonAbstr
for (int i = 0; i < DataMode.values().length; i++) {
dataMode = DataMode.values()[i];
- if ((getConfiguration().getMarshaller() instanceof JdkMarshaller)
- && (dataMode == DataMode.PLANE_OBJECT)) {
- info("Skip test for JdkMarshaller & PLANE_OBJECT data mode");
+ if (!isCompatible()) {
+ info("Skipping test in data mode: " + dataMode);
+
continue;
}
-
+
info("Running test in data mode: " + dataMode);
if (i != 0)
@@ -250,6 +254,8 @@ public abstract class IgniteConfigVariationsAbstractTest extends GridCommonAbstr
return new ExternalizableObject(keyId);
case PLANE_OBJECT:
return new TestObject(keyId);
+ case BINARILIZABLE:
+ return new BinarylizableObject(keyId);
default:
throw new IllegalArgumentException("mode: " + mode);
}
@@ -279,6 +285,8 @@ public abstract class IgniteConfigVariationsAbstractTest extends GridCommonAbstr
return new ExternalizableObject(idx);
case PLANE_OBJECT:
return new TestObject(idx);
+ case BINARILIZABLE:
+ return new BinarylizableObject(idx);
default:
throw new IllegalArgumentException("mode: " + mode);
}
@@ -395,7 +403,7 @@ public abstract class IgniteConfigVariationsAbstractTest extends GridCommonAbstr
/**
* Default constructor.
*/
- public ExternalizableObject() {
+ ExternalizableObject() {
super(-1);
}
@@ -422,6 +430,37 @@ public abstract class IgniteConfigVariationsAbstractTest extends GridCommonAbstr
}
/**
+ *
+ */
+ public static class BinarylizableObject extends TestObject implements Binarylizable {
+ /**
+ * Default constructor.
+ */
+ public BinarylizableObject() {
+ super(-1);
+ }
+
+ /**
+ * @param val Value.
+ */
+ public BinarylizableObject(int val) {
+ super(val);
+ }
+
+ @Override public void writeBinary(BinaryWriter writer) throws BinaryObjectException {
+ writer.writeInt("val", val);
+ writer.writeString("strVal", strVal);
+ writer.writeEnum("enumVal", enumVal);
+ }
+
+ @Override public void readBinary(BinaryReader reader) throws BinaryObjectException {
+ val = reader.readInt("val");
+ strVal = reader.readString("strVal");
+ enumVal = reader.readEnum("enumVal");
+ }
+ }
+
+ /**
* Data mode.
*/
public enum DataMode {
@@ -432,7 +471,10 @@ public abstract class IgniteConfigVariationsAbstractTest extends GridCommonAbstr
EXTERNALIZABLE,
/** Objects without Serializable and Externalizable. */
- PLANE_OBJECT
+ PLANE_OBJECT,
+
+ /** Binarylizable objects. Compatible only with binary marshaller */
+ BINARILIZABLE
}
/**
@@ -452,10 +494,24 @@ public abstract class IgniteConfigVariationsAbstractTest extends GridCommonAbstr
/**
*
*/
- public static interface TestRunnable {
+ public interface TestRunnable {
/**
* @throws Exception If failed.
*/
- public void run() throws Exception;
+ void run() throws Exception;
+ }
+
+ /**
+ * Check test compatibility with current data mode
+ * @return true if incompatible
+ * @throws Exception
+ */
+ protected boolean isCompatible() throws Exception {
+ switch (dataMode) {
+ case BINARILIZABLE:
+ case PLANE_OBJECT:
+ return !(getConfiguration().getMarshaller() instanceof JdkMarshaller);
+ }
+ return false;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6c705daa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteServiceConfigVariationsFullApiTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteServiceConfigVariationsFullApiTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteServiceConfigVariationsFullApiTestSuite.java
new file mode 100644
index 0000000..328ae8d
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteServiceConfigVariationsFullApiTestSuite.java
@@ -0,0 +1,92 @@
+/*
+ * 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.testsuites;
+
+import junit.framework.TestSuite;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.binary.BinaryMarshaller;
+import org.apache.ignite.internal.processors.service.IgniteServiceConfigVariationsFullApiTest;
+import org.apache.ignite.marshaller.jdk.JdkMarshaller;
+import org.apache.ignite.testframework.configvariations.ConfigParameter;
+import org.apache.ignite.testframework.configvariations.ConfigVariations;
+import org.apache.ignite.testframework.configvariations.ConfigVariationsTestSuiteBuilder;
+import org.apache.ignite.testframework.configvariations.Parameters;
+
+/**
+ * Full API service test suit.
+ */
+public class IgniteServiceConfigVariationsFullApiTestSuite extends TestSuite {
+ /** */
+ @SuppressWarnings("unchecked")
+ private static final ConfigParameter<IgniteConfiguration>[][] PARAMS = new ConfigParameter[][] {
+ Parameters.objectParameters("setMarshaller",
+ Parameters.factory(JdkMarshaller.class),
+ Parameters.factory(BinaryMarshaller.class),
+ ConfigVariations.optimizedMarshallerFactory()
+ ),
+
+ Parameters.booleanParameters("setPeerClassLoadingEnabled")
+ };
+
+ /**
+ * @return Compute API test suite.
+ * @throws Exception If failed.
+ */
+ public static TestSuite suite() throws Exception {
+ TestSuite suite = new TestSuite("Service Deployment New Full API Test Suite");
+
+ suite.addTest(new ConfigVariationsTestSuiteBuilder(
+ "Single server",
+ IgniteServiceConfigVariationsFullApiTest.class)
+ .igniteParams(PARAMS)
+ .gridsCount(1)
+ .build());
+
+ // Tests run on server (node#0) & client(node#1).
+ suite.addTest(new ConfigVariationsTestSuiteBuilder(
+ "1 server, 1 client",
+ IgniteServiceConfigVariationsFullApiTest.class)
+ .igniteParams(PARAMS)
+ .gridsCount(2)
+ .testedNodesCount(2)
+ .withClients()
+ .build());
+
+ // Tests run on servers (node#0,node#2,node#3) & client(node#1).
+ suite.addTest(new ConfigVariationsTestSuiteBuilder(
+ "3 servers, 1 client",
+ IgniteServiceConfigVariationsFullApiTest.class)
+ .igniteParams(PARAMS)
+ .gridsCount(4)
+ .testedNodesCount(2)
+ .withClients()
+ .build());
+
+ // Tests run on servers (node#0,node#2,node#3) & client(node#1,node#4).
+ suite.addTest(new ConfigVariationsTestSuiteBuilder(
+ "3 servers, 2 clients",
+ IgniteServiceConfigVariationsFullApiTest.class)
+ .igniteParams(PARAMS)
+ .gridsCount(5)
+ .testedNodesCount(2)
+ .withClients()
+ .build());
+
+ return suite;
+ }
+}
\ No newline at end of file
[02/20] ignite git commit: Added abstract response.
Posted by vo...@apache.org.
Added abstract response.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/70d2dd74
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/70d2dd74
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/70d2dd74
Branch: refs/heads/ignite-2523-1
Commit: 70d2dd745476eddf7b1e55e5ebb33ccf356c9e9f
Parents: 091f5d1
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 15:40:12 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 15:40:12 2016 +0300
----------------------------------------------------------------------
.../GridNearAtomicAbstractUpdateRequest.java | 7 +-
.../GridNearAtomicAbstractUpdateResponse.java | 201 +++++++++++++++++++
.../GridNearAtomicSingleUpdateRequest.java | 5 -
.../dht/atomic/GridNearAtomicUpdateRequest.java | 5 -
.../atomic/GridNearAtomicUpdateResponse.java | 185 +++++------------
5 files changed, 256 insertions(+), 147 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/70d2dd74/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
index b78a70a..6e868e4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
@@ -33,7 +33,7 @@ import java.util.List;
import java.util.UUID;
/**
- * Abstract near update request.
+ * Abstract near ATOMIC update request.
*/
public abstract class GridNearAtomicAbstractUpdateRequest extends GridCacheMessage implements GridCacheDeployable {
/** */
@@ -43,6 +43,11 @@ public abstract class GridNearAtomicAbstractUpdateRequest extends GridCacheMessa
public static final int CACHE_MSG_IDX = nextIndexId();
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public int lookupIndex() {
return CACHE_MSG_IDX;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/70d2dd74/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
new file mode 100644
index 0000000..e945604
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
@@ -0,0 +1,201 @@
+/*
+ * 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.distributed.dht.atomic;
+
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.processors.cache.CacheObject;
+import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
+import org.apache.ignite.internal.processors.cache.GridCacheMessage;
+import org.apache.ignite.internal.processors.cache.GridCacheReturn;
+import org.apache.ignite.internal.processors.cache.KeyCacheObject;
+import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.Collection;
+import java.util.UUID;
+
+/**
+ * Abstract near ATOMIC update response.
+ */
+public abstract class GridNearAtomicAbstractUpdateResponse extends GridCacheMessage implements GridCacheDeployable {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache message index. */
+ public static final int CACHE_MSG_IDX = nextIndexId();
+
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int lookupIndex() {
+ return CACHE_MSG_IDX;
+ }
+
+ /**
+ * @return Node ID this response should be sent to.
+ */
+ public abstract UUID nodeId();
+
+ /**
+ * @param nodeId Node ID.
+ */
+ public abstract void nodeId(UUID nodeId);
+
+ /**
+ * @return Future version.
+ */
+ public abstract GridCacheVersion futureVersion();
+
+ /**
+ * Sets update error.
+ *
+ * @param err Error.
+ */
+ public abstract void error(IgniteCheckedException err);
+
+ /**
+ * @return Failed keys count.
+ */
+ public abstract int failedKeysCount();
+
+ /**
+ * @param idx Index.
+ * @return Failed key.
+ */
+ public abstract KeyCacheObject failedKey(int idx);
+
+ /**
+ * @return Return value.
+ */
+ public abstract GridCacheReturn returnValue();
+
+ /**
+ * @param ret Return value.
+ */
+ @SuppressWarnings("unchecked")
+ public abstract void returnValue(GridCacheReturn ret);
+
+ /**
+ * @param req Request.
+ */
+ public abstract void remapKeys(GridNearAtomicAbstractUpdateRequest req);
+
+ /**
+ * @param idx Index.
+ * @return Remap key.
+ */
+ public abstract KeyCacheObject remapKey(int idx);
+
+ /**
+ * @return Remap keys count.
+ */
+ public abstract int remapKeysCount();
+
+ /**
+ * Adds value to be put in near cache on originating node.
+ *
+ * @param keyIdx Key index.
+ * @param val Value.
+ * @param ttl TTL for near cache update.
+ * @param expireTime Expire time for near cache update.
+ */
+ public abstract void addNearValue(int keyIdx, @Nullable CacheObject val, long ttl, long expireTime);
+
+ /**
+ * @param keyIdx Key index.
+ * @param ttl TTL for near cache update.
+ * @param expireTime Expire time for near cache update.
+ */
+ public abstract void addNearTtl(int keyIdx, long ttl, long expireTime);
+
+ /**
+ * @param idx Index.
+ * @return Expire time for near cache update.
+ */
+ public abstract long nearExpireTime(int idx);
+
+ /**
+ * @param idx Index.
+ * @return TTL for near cache update.
+ */
+ public abstract long nearTtl(int idx);
+
+ /**
+ * @param nearVer Version generated on primary node to be used for originating node's near cache update.
+ */
+ public abstract void nearVersion(GridCacheVersion nearVer);
+
+ /**
+ * @return Version generated on primary node to be used for originating node's near cache update.
+ */
+ public abstract GridCacheVersion nearVersion();
+
+ /**
+ * @param keyIdx Index of key for which update was skipped
+ */
+ public abstract void addSkippedIndex(int keyIdx);
+
+ /**
+ * Check if update was skipped for the given index.
+ *
+ * @param idx Index.
+ * @return {@code True} if skipped.
+ */
+ public abstract boolean isNearSkippedIndex(int idx);
+
+ /**
+ * Check if this is an index of a key for which values were generated on primary node.
+ *
+ * @param idx Index.
+ * @return {@code True} if values were generated on primary node.
+ */
+ public abstract boolean isNearValueIndex(int idx);
+
+ /**
+ * @param idx Index.
+ * @return Value generated on primary node which should be put to originating node's near cache.
+ */
+ @Nullable public abstract CacheObject nearValue(int idx);
+
+ /**
+ * Adds key to collection of failed keys.
+ *
+ * @param key Key to add.
+ * @param e Error cause.
+ */
+ public abstract void addFailedKey(KeyCacheObject key, Throwable e);
+
+ /**
+ * Adds keys to collection of failed keys.
+ *
+ * @param keys Key to add.
+ * @param e Error cause.
+ */
+ public abstract void addFailedKeys(Collection<KeyCacheObject> keys, Throwable e);
+
+ /**
+ * Add keys to collection of failed keys.
+ *
+ * @param req Request.
+ * @param e Error cause.
+ */
+ public abstract void addFailedKeys(GridNearAtomicAbstractUpdateRequest req, Throwable e);
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/70d2dd74/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
index d2a3034..13b990e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
@@ -496,11 +496,6 @@ public class GridNearAtomicSingleUpdateRequest extends GridNearAtomicAbstractUpd
}
/** {@inheritDoc} */
- @Override public boolean addDeploymentInfo() {
- return addDepInfo;
- }
-
- /** {@inheritDoc} */
@Override public boolean isSingle() {
return true;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/70d2dd74/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 706190a..d458ac2 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
@@ -593,11 +593,6 @@ public class GridNearAtomicUpdateRequest extends GridNearAtomicAbstractUpdateReq
}
/** {@inheritDoc} */
- @Override public boolean addDeploymentInfo() {
- return addDepInfo;
- }
-
- /** {@inheritDoc} */
@Override public boolean isSingle() {
return false;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/70d2dd74/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index bc552df..4c50bba 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -28,8 +28,6 @@ import org.apache.ignite.internal.GridDirectCollection;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
-import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
-import org.apache.ignite.internal.processors.cache.GridCacheMessage;
import org.apache.ignite.internal.processors.cache.GridCacheReturn;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
@@ -46,13 +44,10 @@ import org.jetbrains.annotations.Nullable;
/**
* DHT atomic cache near update response.
*/
-public class GridNearAtomicUpdateResponse extends GridCacheMessage implements GridCacheDeployable {
+public class GridNearAtomicUpdateResponse extends GridNearAtomicAbstractUpdateResponse {
/** */
private static final long serialVersionUID = 0L;
- /** Cache message index. */
- public static final int CACHE_MSG_IDX = nextIndexId();
-
/** Node ID this reply should be sent to. */
@GridDirectTransient
private UUID nodeId;
@@ -126,37 +121,22 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
}
/** {@inheritDoc} */
- @Override public int lookupIndex() {
- return CACHE_MSG_IDX;
- }
-
- /**
- * @return Node ID this response should be sent to.
- */
- public UUID nodeId() {
+ @Override public UUID nodeId() {
return nodeId;
}
- /**
- * @param nodeId Node ID.
- */
- public void nodeId(UUID nodeId) {
+ /** {@inheritDoc} */
+ @Override public void nodeId(UUID nodeId) {
this.nodeId = nodeId;
}
- /**
- * @return Future version.
- */
- public GridCacheVersion futureVersion() {
+ /** {@inheritDoc} */
+ @Override public GridCacheVersion futureVersion() {
return futVer;
}
- /**
- * Sets update error.
- *
- * @param err Error.
- */
- public void error(IgniteCheckedException err){
+ /** {@inheritDoc} */
+ @Override public void error(IgniteCheckedException err){
this.err = err;
}
@@ -165,70 +145,50 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
return err;
}
- /**
- * @return Failed keys count.
- */
- public int failedKeysCount() {
+ /** {@inheritDoc} */
+ @Override public int failedKeysCount() {
return failedKeys == null ? 0 : failedKeys.size();
}
- /**
- * @param idx Index.
- * @return Failed key.
- */
- public KeyCacheObject failedKey(int idx) {
+ /** {@inheritDoc} */
+ @Override public KeyCacheObject failedKey(int idx) {
return failedKeys.get(idx);
}
- /**
- * @return Return value.
- */
- public GridCacheReturn returnValue() {
+ /** {@inheritDoc} */
+ @Override public GridCacheReturn returnValue() {
return ret;
}
/**
* @param ret Return value.
*/
+ /** {@inheritDoc} */
@SuppressWarnings("unchecked")
- public void returnValue(GridCacheReturn ret) {
+ @Override public void returnValue(GridCacheReturn ret) {
this.ret = ret;
}
- /**
- * @param req Request.
- */
- public void remapKeys(GridNearAtomicAbstractUpdateRequest req) {
+ /** {@inheritDoc} */
+ @Override public void remapKeys(GridNearAtomicAbstractUpdateRequest req) {
remapKeys = new ArrayList<>(req.keysCount());
for (int i = 0; i < req.keysCount(); i++)
remapKeys.add(req.key(i));
}
- /**
- * @param idx Index.
- * @return Remap key.
- */
- public KeyCacheObject remapKey(int idx) {
+ /** {@inheritDoc} */
+ @Override public KeyCacheObject remapKey(int idx) {
return remapKeys.get(idx);
}
- /**
- * @return Remap keys count.
- */
- public int remapKeysCount() {
+ /** {@inheritDoc} */
+ @Override public int remapKeysCount() {
return remapKeys == null ? 0 : remapKeys.size();
}
- /**
- * Adds value to be put in near cache on originating node.
- *
- * @param keyIdx Key index.
- * @param val Value.
- * @param ttl TTL for near cache update.
- * @param expireTime Expire time for near cache update.
- */
- public void addNearValue(int keyIdx,
+ /** {@inheritDoc} */
+ @Override public void addNearValue(int keyIdx,
@Nullable CacheObject val,
long ttl,
long expireTime) {
@@ -243,13 +203,9 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
nearVals.add(val);
}
- /**
- * @param keyIdx Key index.
- * @param ttl TTL for near cache update.
- * @param expireTime Expire time for near cache update.
- */
+ /** {@inheritDoc} */
@SuppressWarnings("ForLoopReplaceableByForEach")
- public void addNearTtl(int keyIdx, long ttl, long expireTime) {
+ @Override public void addNearTtl(int keyIdx, long ttl, long expireTime) {
if (ttl >= 0) {
if (nearTtls == null) {
nearTtls = new GridLongList(16);
@@ -275,11 +231,8 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
nearExpireTimes.add(expireTime);
}
- /**
- * @param idx Index.
- * @return Expire time for near cache update.
- */
- public long nearExpireTime(int idx) {
+ /** {@inheritDoc} */
+ @Override public long nearExpireTime(int idx) {
if (nearExpireTimes != null) {
assert idx >= 0 && idx < nearExpireTimes.size();
@@ -289,11 +242,8 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
return -1L;
}
- /**
- * @param idx Index.
- * @return TTL for near cache update.
- */
- public long nearTtl(int idx) {
+ /** {@inheritDoc} */
+ @Override public long nearTtl(int idx) {
if (nearTtls != null) {
assert idx >= 0 && idx < nearTtls.size();
@@ -303,24 +253,18 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
return -1L;
}
- /**
- * @param nearVer Version generated on primary node to be used for originating node's near cache update.
- */
- public void nearVersion(GridCacheVersion nearVer) {
+ /** {@inheritDoc} */
+ @Override public void nearVersion(GridCacheVersion nearVer) {
this.nearVer = nearVer;
}
- /**
- * @return Version generated on primary node to be used for originating node's near cache update.
- */
- public GridCacheVersion nearVersion() {
+ /** {@inheritDoc} */
+ @Override public GridCacheVersion nearVersion() {
return nearVer;
}
- /**
- * @param keyIdx Index of key for which update was skipped
- */
- public void addSkippedIndex(int keyIdx) {
+ /** {@inheritDoc} */
+ @Override public void addSkippedIndex(int keyIdx) {
if (nearSkipIdxs == null)
nearSkipIdxs = new ArrayList<>();
@@ -329,41 +273,23 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
addNearTtl(keyIdx, -1L, -1L);
}
- /**
- * Check if update was skipped for the given index.
- *
- * @param idx Index.
- * @return {@code True} if skipped.
- */
- public boolean isNearSkippedIndex(int idx) {
+ /** {@inheritDoc} */
+ @Override public boolean isNearSkippedIndex(int idx) {
return nearSkipIdxs != null && nearSkipIdxs.contains(idx);
}
- /**
- * Check if this is an index of a key for which values were generated on primary node.
- *
- * @param idx Index.
- * @return {@code True} if values were generated on primary node.
- */
- public boolean isNearValueIndex(int idx) {
+ /** {@inheritDoc} */
+ @Override public boolean isNearValueIndex(int idx) {
return nearValsIdxs != null && nearValsIdxs.contains(idx);
}
- /**
- * @param idx Index.
- * @return Value generated on primary node which should be put to originating node's near cache.
- */
- @Nullable public CacheObject nearValue(int idx) {
+ /** {@inheritDoc} */
+ @Override @Nullable public CacheObject nearValue(int idx) {
return nearVals.get(idx);
}
- /**
- * Adds key to collection of failed keys.
- *
- * @param key Key to add.
- * @param e Error cause.
- */
- public synchronized void addFailedKey(KeyCacheObject key, Throwable e) {
+ /** {@inheritDoc} */
+ @Override public synchronized void addFailedKey(KeyCacheObject key, Throwable e) {
if (failedKeys == null)
failedKeys = new ArrayList<>(1);
@@ -372,13 +298,8 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
setFailedKeysError(e);
}
- /**
- * Adds keys to collection of failed keys.
- *
- * @param keys Key to add.
- * @param e Error cause.
- */
- public synchronized void addFailedKeys(Collection<KeyCacheObject> keys, Throwable e) {
+ /** {@inheritDoc} */
+ @Override public synchronized void addFailedKeys(Collection<KeyCacheObject> keys, Throwable e) {
if (keys != null) {
if (failedKeys == null)
failedKeys = new ArrayList<>(keys.size());
@@ -389,13 +310,8 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
setFailedKeysError(e);
}
- /**
- * Add keys to collection of failed keys.
- *
- * @param req Request.
- * @param e Error cause.
- */
- public synchronized void addFailedKeys(GridNearAtomicAbstractUpdateRequest req, Throwable e) {
+ /** {@inheritDoc} */
+ @Override public synchronized void addFailedKeys(GridNearAtomicAbstractUpdateRequest req, Throwable e) {
if (failedKeys == null)
failedKeys = new ArrayList<>(req.keysCount());
@@ -456,10 +372,7 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
ret.finishUnmarshal(cctx, ldr);
}
- /** {@inheritDoc} */
- @Override public boolean addDeploymentInfo() {
- return addDepInfo;
- }
+
/** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
[11/20] ignite git commit: Moved near data to extras.
Posted by vo...@apache.org.
Moved near data to extras.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5f55c4dd
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5f55c4dd
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5f55c4dd
Branch: refs/heads/ignite-2523-1
Commit: 5f55c4dd1e14797779781fcee3b3faaac6a0e358
Parents: e522320
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Apr 27 10:46:36 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Apr 27 10:46:36 2016 +0300
----------------------------------------------------------------------
.../GridNearAtomicSingleUpdateResponse.java | 147 ++++++++++++-------
1 file changed, 96 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/5f55c4dd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
index b807896..212344f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
@@ -70,24 +70,8 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
@GridToStringInclude
private boolean remapKey;
- /** Indexes of keys for which values were generated on primary node (used if originating node has near cache). */
- private boolean nearValsIdx;
-
- /** Indexes of keys for which update was skipped (used if originating node has near cache). */
- private boolean nearSkipIdx;
-
- /** Values generated on primary node which should be put to originating node's near cache. */
- @GridToStringInclude
- private CacheObject nearVal;
-
- /** Version generated on primary node to be used for originating node's near cache update. */
- private GridCacheVersion nearVer;
-
- /** Near TTLs. */
- private long nearTtl = -1L;
-
- /** Near expire times. */
- private long nearExpireTime = -1L;
+ /** Near extras. */
+ private NearExtras nearExtras;
/**
* Empty constructor required by {@link Externalizable}.
@@ -186,10 +170,12 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
@Override public void addNearValue(int keyIdx, @Nullable CacheObject val, long ttl, long expireTime) {
assert keyIdx == 0;
+ initializeNearExtras();
+
addNearTtl(keyIdx, ttl, expireTime);
- nearValsIdx = true;
- nearVal = val;
+ nearExtras.valsIdx = true;
+ nearExtras.val = val;
}
/** {@inheritDoc} */
@@ -197,39 +183,45 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
@Override public void addNearTtl(int keyIdx, long ttl, long expireTime) {
assert keyIdx == 0;
- nearTtl = ttl;
- nearExpireTime = expireTime;
+ initializeNearExtras();
+
+ nearExtras.ttl = ttl;
+ nearExtras.expireTime = expireTime;
}
/** {@inheritDoc} */
@Override public long nearExpireTime(int idx) {
assert idx == 0;
- return nearExpireTime;
+ return nearExtras != null ? nearExtras.expireTime : -1;
}
/** {@inheritDoc} */
@Override public long nearTtl(int idx) {
assert idx == 0;
- return nearTtl;
+ return nearExtras != null ? nearExtras.ttl : -1;
}
/** {@inheritDoc} */
@Override public void nearVersion(GridCacheVersion nearVer) {
- this.nearVer = nearVer;
+ initializeNearExtras();
+
+ nearExtras.ver = nearVer;
}
/** {@inheritDoc} */
@Override public GridCacheVersion nearVersion() {
- return nearVer;
+ return nearExtras != null ? nearExtras.ver : null;
}
/** {@inheritDoc} */
@Override public void addSkippedIndex(int keyIdx) {
assert keyIdx == 0;
- nearSkipIdx = true;
+ initializeNearExtras();
+
+ nearExtras.skipIdx = true;
addNearTtl(keyIdx, -1L, -1L);
}
@@ -238,21 +230,21 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
@Override public boolean isNearSkippedIndex(int idx) {
assert idx == 0;
- return nearSkipIdx;
+ return nearExtras != null && nearExtras.skipIdx;
}
/** {@inheritDoc} */
@Override public boolean isNearValueIndex(int idx) {
assert idx == 0;
- return nearValsIdx;
+ return nearExtras != null && nearExtras.valsIdx;
}
/** {@inheritDoc} */
@Override @Nullable public CacheObject nearValue(int idx) {
assert idx == 0;
- return nearVal;
+ return nearExtras != null ? nearExtras.val : null;
}
/** {@inheritDoc} */
@@ -299,6 +291,14 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
return true;
}
+ /**
+ * Initialize near extras.
+ */
+ private void initializeNearExtras() {
+ if (nearExtras == null)
+ nearExtras = new NearExtras();
+ }
+
/** {@inheritDoc}
* @param ctx*/
@Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
@@ -309,7 +309,8 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
GridCacheContext cctx = ctx.cacheContext(cacheId);
- prepareMarshalCacheObject(nearVal, cctx);
+ if (nearExtras != null)
+ prepareMarshalCacheObject(nearExtras.val, cctx);
if (ret != null)
ret.prepareMarshal(cctx);
@@ -324,14 +325,13 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
GridCacheContext cctx = ctx.cacheContext(cacheId);
- finishUnmarshalCacheObject(nearVal, cctx, ldr);
+ if (nearExtras != null)
+ finishUnmarshalCacheObject(nearExtras.val, cctx, ldr);
if (ret != null)
ret.finishUnmarshal(cctx, ldr);
}
-
-
/** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -366,53 +366,61 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
writer.incrementState();
case 6:
- if (!writer.writeLong("nearExpireTime", nearExpireTime))
+ if (!writer.writeBoolean("remapKey", remapKey))
return false;
writer.incrementState();
case 7:
- if (!writer.writeBoolean("nearSkipIdx", nearSkipIdx))
+ if (!writer.writeMessage("ret", ret))
return false;
writer.incrementState();
case 8:
- if (!writer.writeLong("nearTtl", nearTtl))
+ if (!writer.writeBoolean("hasNearExtras", nearExtras != null))
return false;
writer.incrementState();
+ if (nearExtras == null)
+ return true;
+
case 9:
- if (!writer.writeMessage("nearVal", nearVal))
+ if (!writer.writeLong("nearExpireTime", nearExtras.expireTime))
return false;
writer.incrementState();
case 10:
- if (!writer.writeBoolean("nearValsIdx", nearValsIdx))
+ if (!writer.writeBoolean("nearSkipIdx", nearExtras.skipIdx))
return false;
writer.incrementState();
case 11:
- if (!writer.writeMessage("nearVer", nearVer))
+ if (!writer.writeLong("nearTtl", nearExtras.ttl))
return false;
writer.incrementState();
case 12:
- if (!writer.writeBoolean("remapKey", remapKey))
+ if (!writer.writeMessage("nearVal", nearExtras.val))
return false;
writer.incrementState();
case 13:
- if (!writer.writeMessage("ret", ret))
+ if (!writer.writeBoolean("nearValsIdx", nearExtras.valsIdx))
return false;
writer.incrementState();
+ case 14:
+ if (!writer.writeMessage("nearVer", nearExtras.ver))
+ return false;
+
+ writer.incrementState();
}
return true;
@@ -454,7 +462,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 6:
- nearExpireTime = reader.readLong("nearExpireTime");
+ remapKey = reader.readBoolean("remapKey");
if (!reader.isLastRead())
return false;
@@ -462,7 +470,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 7:
- nearSkipIdx = reader.readBoolean("nearSkipIdx");
+ ret = reader.readMessage("ret");
if (!reader.isLastRead())
return false;
@@ -470,15 +478,21 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 8:
- nearTtl = reader.readLong("nearTtl");
+ boolean hasNearExtras = reader.readBoolean("hasNearExtras");
if (!reader.isLastRead())
return false;
+ if (hasNearExtras)
+ nearExtras = new NearExtras();
+
reader.incrementState();
+ if (!hasNearExtras)
+ return reader.afterMessageRead(GridNearAtomicSingleUpdateResponse.class);
+
case 9:
- nearVal = reader.readMessage("nearVal");
+ nearExtras.expireTime = reader.readLong("nearExpireTime");
if (!reader.isLastRead())
return false;
@@ -486,7 +500,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 10:
- nearValsIdx = reader.readBoolean("nearValsIdx");
+ nearExtras.skipIdx = reader.readBoolean("nearSkipIdx");
if (!reader.isLastRead())
return false;
@@ -494,7 +508,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 11:
- nearVer = reader.readMessage("nearVer");
+ nearExtras.ttl = reader.readLong("nearTtl");
if (!reader.isLastRead())
return false;
@@ -502,7 +516,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 12:
- remapKey = reader.readBoolean("remapKey");
+ nearExtras.val = reader.readMessage("nearVal");
if (!reader.isLastRead())
return false;
@@ -510,13 +524,20 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 13:
- ret = reader.readMessage("ret");
+ nearExtras.valsIdx = reader.readBoolean("nearValsIdx");
if (!reader.isLastRead())
return false;
reader.incrementState();
+ case 14:
+ nearExtras.ver = reader.readMessage("nearVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
}
return reader.afterMessageRead(GridNearAtomicSingleUpdateResponse.class);
@@ -529,11 +550,35 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** {@inheritDoc} */
@Override public byte fieldsCount() {
- return 14;
+ return nearExtras != null ? (byte)15 : (byte)9;
}
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(GridNearAtomicSingleUpdateResponse.class, this, "parent");
}
+
+ /**
+ * Extra data for near nodes.
+ */
+ private static class NearExtras {
+ /** Indexes of keys for which values were generated on primary node (used if originating node has near cache). */
+ private boolean valsIdx;
+
+ /** Indexes of keys for which update was skipped (used if originating node has near cache). */
+ private boolean skipIdx;
+
+ /** Values generated on primary node which should be put to originating node's near cache. */
+ @GridToStringInclude
+ private CacheObject val;
+
+ /** Version generated on primary node to be used for originating node's near cache update. */
+ private GridCacheVersion ver;
+
+ /** Near TTLs. */
+ private long ttl = -1L;
+
+ /** Near expire times. */
+ private long expireTime = -1L;
+ }
}
[13/20] ignite git commit: Merge branch 'ignite-2523-1' into
ignite-2523-1-resp
Posted by vo...@apache.org.
Merge branch 'ignite-2523-1' into ignite-2523-1-resp
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/834c9da6
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/834c9da6
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/834c9da6
Branch: refs/heads/ignite-2523-1
Commit: 834c9da6c87c856d5228059bae5ef6db63510464
Parents: f163aba 5d4af1a
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Thu Apr 28 16:39:08 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Thu Apr 28 16:39:08 2016 +0300
----------------------------------------------------------------------
.../apache/ignite/IgniteSystemProperties.java | 16 ++-
.../dht/GridClientPartitionTopology.java | 6 +-
.../dht/GridDhtPartitionTopology.java | 2 +-
.../dht/GridDhtPartitionTopologyImpl.java | 6 +-
.../dht/GridDhtTransactionalCacheAdapter.java | 4 +-
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 8 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 10 +-
.../processors/cluster/GridUpdateNotifier.java | 3 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 5 +-
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 10 ++
...GridServiceProxyClientReconnectSelfTest.java | 2 +-
.../spi/discovery/tcp/TcpDiscoverySelfTest.java | 34 +++++
.../properties/NotStringSystemPropertyTest.java | 124 +++++++++++++++++++
.../ignite/testsuites/IgniteBasicTestSuite.java | 2 +
.../Apache.Ignite.Linq.nuspec | 5 +-
15 files changed, 215 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/834c9da6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/834c9da6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
[10/20] ignite git commit: Reworked "remapKey" - now it is a flag.
Posted by vo...@apache.org.
Reworked "remapKey" - now it is a flag.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e5223202
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e5223202
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e5223202
Branch: refs/heads/ignite-2523-1
Commit: e5223202c81ee887a862d27d74aaec89e85421c4
Parents: 4372eb5
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 16:38:34 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 16:38:34 2016 +0300
----------------------------------------------------------------------
.../GridNearAtomicAbstractUpdateResponse.java | 2 +-
.../atomic/GridNearAtomicSingleUpdateResponse.java | 16 +++++++---------
.../dht/atomic/GridNearAtomicUpdateFuture.java | 2 +-
.../dht/atomic/GridNearAtomicUpdateResponse.java | 2 +-
4 files changed, 10 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e5223202/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
index 4fb6b32..91b1ac5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateResponse.java
@@ -103,7 +103,7 @@ public abstract class GridNearAtomicAbstractUpdateResponse extends GridCacheMess
* @param idx Index.
* @return Remap key.
*/
- public abstract KeyCacheObject remapKey(int idx);
+ public abstract KeyCacheObject remapKey(GridNearAtomicAbstractUpdateRequest req, int idx);
/**
* @return Remap keys count.
http://git-wip-us.apache.org/repos/asf/ignite/blob/e5223202/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
index 41fa699..b807896 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
@@ -68,7 +68,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
/** Keys that should be remapped. */
@GridToStringInclude
- private KeyCacheObject remapKey;
+ private boolean remapKey;
/** Indexes of keys for which values were generated on primary node (used if originating node has near cache). */
private boolean nearValsIdx;
@@ -167,19 +167,19 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
@Override public void remapKeys(GridNearAtomicAbstractUpdateRequest req) {
assert req instanceof GridNearAtomicSingleUpdateRequest;
- remapKey = req.key(0);
+ remapKey = true;
}
/** {@inheritDoc} */
- @Override public KeyCacheObject remapKey(int idx) {
+ @Override public KeyCacheObject remapKey(GridNearAtomicAbstractUpdateRequest req, int idx) {
assert idx == 0;
- return remapKey;
+ return req.key(0);
}
/** {@inheritDoc} */
@Override public int remapKeysCount() {
- return remapKey == null ? 0 : 1;
+ return remapKey ? 1 : 0;
}
/** {@inheritDoc} */
@@ -309,7 +309,6 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
GridCacheContext cctx = ctx.cacheContext(cacheId);
- prepareMarshalCacheObject(remapKey, cctx);
prepareMarshalCacheObject(nearVal, cctx);
if (ret != null)
@@ -325,7 +324,6 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
GridCacheContext cctx = ctx.cacheContext(cacheId);
- finishUnmarshalCacheObject(remapKey, cctx, ldr);
finishUnmarshalCacheObject(nearVal, cctx, ldr);
if (ret != null)
@@ -404,7 +402,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
writer.incrementState();
case 12:
- if (!writer.writeMessage("remapKey", remapKey))
+ if (!writer.writeBoolean("remapKey", remapKey))
return false;
writer.incrementState();
@@ -504,7 +502,7 @@ public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUp
reader.incrementState();
case 12:
- remapKey = reader.readMessage("remapKey");
+ remapKey = reader.readBoolean("remapKey");
if (!reader.isLastRead())
return false;
http://git-wip-us.apache.org/repos/asf/ignite/blob/e5223202/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 a858bca..7080609 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
@@ -305,7 +305,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
remapKeys = U.newHashSet(res.remapKeysCount());
for (int i = 0; i < res.remapKeysCount(); i++)
- remapKeys.add(res.remapKey(i));
+ remapKeys.add(res.remapKey(req, i));
if (mapErrTopVer == null || mapErrTopVer.compareTo(req.topologyVersion()) < 0)
mapErrTopVer = req.topologyVersion();
http://git-wip-us.apache.org/repos/asf/ignite/blob/e5223202/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index c14e376..6654265 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -178,7 +178,7 @@ public class GridNearAtomicUpdateResponse extends GridNearAtomicAbstractUpdateRe
}
/** {@inheritDoc} */
- @Override public KeyCacheObject remapKey(int idx) {
+ @Override public KeyCacheObject remapKey(GridNearAtomicAbstractUpdateRequest req, int idx) {
return remapKeys.get(idx);
}
[14/20] ignite git commit: Fixed
BinaryObjectOffheapUnswapTemporaryTest.
Posted by vo...@apache.org.
Fixed BinaryObjectOffheapUnswapTemporaryTest.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8dd6f199
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8dd6f199
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8dd6f199
Branch: refs/heads/ignite-2523-1
Commit: 8dd6f199b2b6b79e3d3b313228b9b89b214f5870
Parents: 344cceb
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Apr 29 09:01:47 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Apr 29 09:01:47 2016 +0300
----------------------------------------------------------------------
.../cache/BinaryObjectOffHeapUnswapTemporaryTest.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8dd6f199/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryObjectOffHeapUnswapTemporaryTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryObjectOffHeapUnswapTemporaryTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryObjectOffHeapUnswapTemporaryTest.java
index f26191f..824481b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryObjectOffHeapUnswapTemporaryTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryObjectOffHeapUnswapTemporaryTest.java
@@ -36,6 +36,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.binary.BinaryMarshaller;
import org.apache.ignite.internal.binary.BinaryObjectOffheapImpl;
import org.apache.ignite.lang.IgniteInClosure;
+import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
@@ -53,6 +54,9 @@ public class BinaryObjectOffHeapUnswapTemporaryTest extends GridCommonAbstractTe
/** */
private static final int CNT = 20;
+ /** Cache name. */
+ private static final String CACHE_NAME = "cache";
+
/** */
@SuppressWarnings("serial")
private static final CacheEntryProcessor PROC = new CacheEntryProcessor() {
@@ -69,6 +73,7 @@ public class BinaryObjectOffHeapUnswapTemporaryTest extends GridCommonAbstractTe
IgniteConfiguration c = super.getConfiguration(gridName);
c.setMarshaller(new BinaryMarshaller());
+ c.setSwapSpaceSpi(new FileSwapSpaceSpi());
return c;
}
@@ -82,8 +87,9 @@ public class BinaryObjectOffHeapUnswapTemporaryTest extends GridCommonAbstractTe
CacheMemoryMode memoryMode) {
this.atomicityMode = atomicityMode;
- CacheConfiguration cfg = new CacheConfiguration();
+ CacheConfiguration<Object, Object> cfg = new CacheConfiguration<>();
+ cfg.setName(CACHE_NAME);
cfg.setCacheMode(CacheMode.PARTITIONED);
cfg.setAtomicityMode(atomicityMode);
cfg.setMemoryMode(memoryMode);
@@ -168,10 +174,10 @@ public class BinaryObjectOffHeapUnswapTemporaryTest extends GridCommonAbstractTe
*/
@SuppressWarnings("serial")
private void doTest() {
- final IgniteCache<Integer, BinaryObject> cache = jcache(0).withKeepBinary();
+ final IgniteCache<Integer, BinaryObject> cache = jcache(0, CACHE_NAME).withKeepBinary();
for (int key = 0; key < CNT; key++)
- jcache(0).put(key, new TestObject(key));
+ jcache(0, CACHE_NAME).put(key, new TestObject(key));
for (int key = CNT; key < 2 * CNT; key++) {
BinaryObjectBuilder builder = ignite(0).binary().builder("SomeType");
[19/20] ignite git commit: Merge branch 'master' into
ignite-2523-1-resp
Posted by vo...@apache.org.
Merge branch 'master' into ignite-2523-1-resp
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/313af5a6
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/313af5a6
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/313af5a6
Branch: refs/heads/ignite-2523-1
Commit: 313af5a68b8f6d9ece7e478bbb86b1208b89720b
Parents: bc3a396 6c705da
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Apr 29 13:39:58 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Apr 29 13:39:58 2016 +0300
----------------------------------------------------------------------
.../platform/PlatformNoopProcessor.java | 5 +
.../processors/platform/PlatformProcessor.java | 7 +
.../platform/PlatformProcessorImpl.java | 15 +
...gniteServiceConfigVariationsFullApiTest.java | 350 +++++++++++++++++++
.../configvariations/VariationsTestsConfig.java | 2 +-
.../IgniteConfigVariationsAbstractTest.java | 72 +++-
.../IgniteCacheDataStructuresSelfTestSuite.java | 6 +-
...ServiceConfigVariationsFullApiTestSuite.java | 92 +++++
.../cpp/common/include/ignite/common/exports.h | 1 +
.../cpp/common/include/ignite/common/java.h | 2 +
.../platforms/cpp/common/project/vs/module.def | 1 +
modules/platforms/cpp/common/src/exports.cpp | 4 +
modules/platforms/cpp/common/src/java.cpp | 11 +
.../Cache/CacheAbstractTest.cs | 18 +
.../dotnet/Apache.Ignite.Core/IIgnite.cs | 8 +
.../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 18 +
.../Apache.Ignite.Core/Impl/IgniteProxy.cs | 7 +
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 3 +
.../Impl/Unmanaged/UnmanagedUtils.cs | 5 +
19 files changed, 615 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
[05/20] ignite git commit: Added single response,
reworked failed/remap keys.
Posted by vo...@apache.org.
Added single response, reworked failed/remap keys.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6a233dda
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6a233dda
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6a233dda
Branch: refs/heads/ignite-2523-1
Commit: 6a233ddac5f8d323ffa5c9235bf70df47edeb1e8
Parents: 1eb4bfb
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 16:06:12 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 16:06:12 2016 +0300
----------------------------------------------------------------------
.../GridNearAtomicSingleUpdateResponse.java | 572 +++++++++++++++++++
.../atomic/GridNearAtomicUpdateResponse.java | 5 +-
2 files changed, 573 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a233dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
new file mode 100644
index 0000000..9c4aebe
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateResponse.java
@@ -0,0 +1,572 @@
+/*
+ * 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.distributed.dht.atomic;
+
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.GridDirectCollection;
+import org.apache.ignite.internal.GridDirectTransient;
+import org.apache.ignite.internal.processors.cache.CacheObject;
+import org.apache.ignite.internal.processors.cache.GridCacheContext;
+import org.apache.ignite.internal.processors.cache.GridCacheReturn;
+import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
+import org.apache.ignite.internal.processors.cache.KeyCacheObject;
+import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+import org.apache.ignite.internal.util.GridLongList;
+import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
+import org.apache.ignite.plugin.extensions.communication.MessageReader;
+import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+import org.jetbrains.annotations.Nullable;
+
+import java.io.Externalizable;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * DHT atomic cache near update response.
+ */
+public class GridNearAtomicSingleUpdateResponse extends GridNearAtomicAbstractUpdateResponse {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Node ID this reply should be sent to. */
+ @GridDirectTransient
+ private UUID nodeId;
+
+ /** Future version. */
+ private GridCacheVersion futVer;
+
+ /** Update error. */
+ @GridDirectTransient
+ private volatile IgniteCheckedException err;
+
+ /** Serialized error. */
+ private byte[] errBytes;
+
+ /** Return value. */
+ @GridToStringInclude
+ private GridCacheReturn ret;
+
+ /** Failed keys. */
+ @GridToStringInclude
+ private volatile KeyCacheObject failedKey;
+
+ /** Keys that should be remapped. */
+ @GridToStringInclude
+ private KeyCacheObject remapKey;
+
+ /** Indexes of keys for which values were generated on primary node (used if originating node has near cache). */
+ @GridDirectCollection(int.class)
+ private List<Integer> nearValsIdxs;
+
+ /** Indexes of keys for which update was skipped (used if originating node has near cache). */
+ @GridDirectCollection(int.class)
+ private List<Integer> nearSkipIdxs;
+
+ /** Values generated on primary node which should be put to originating node's near cache. */
+ @GridToStringInclude
+ @GridDirectCollection(CacheObject.class)
+ private List<CacheObject> nearVals;
+
+ /** Version generated on primary node to be used for originating node's near cache update. */
+ private GridCacheVersion nearVer;
+
+ /** Near TTLs. */
+ private GridLongList nearTtls;
+
+ /** Near expire times. */
+ private GridLongList nearExpireTimes;
+
+ /**
+ * Empty constructor required by {@link Externalizable}.
+ */
+ public GridNearAtomicSingleUpdateResponse() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheId Cache ID.
+ * @param nodeId Node ID this reply should be sent to.
+ * @param futVer Future version.
+ * @param addDepInfo Deployment info flag.
+ */
+ public GridNearAtomicSingleUpdateResponse(int cacheId, UUID nodeId, GridCacheVersion futVer, boolean addDepInfo) {
+ assert futVer != null;
+
+ this.cacheId = cacheId;
+ this.nodeId = nodeId;
+ this.futVer = futVer;
+ this.addDepInfo = addDepInfo;
+ }
+
+ /** {@inheritDoc} */
+ @Override public UUID nodeId() {
+ return nodeId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void nodeId(UUID nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCacheVersion futureVersion() {
+ return futVer;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void error(IgniteCheckedException err){
+ this.err = err;
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCheckedException error() {
+ return err;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int failedKeysCount() {
+ return failedKey == null ? 0 : 1;
+ }
+
+ /** {@inheritDoc} */
+ @Override public KeyCacheObject failedKey(int idx) {
+ assert idx == 0;
+
+ return failedKey;
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCacheReturn returnValue() {
+ return ret;
+ }
+
+ /**
+ * @param ret Return value.
+ */
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public void returnValue(GridCacheReturn ret) {
+ this.ret = ret;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void remapKeys(GridNearAtomicAbstractUpdateRequest req) {
+ assert req instanceof GridNearAtomicSingleUpdateRequest;
+
+ remapKey = req.key(0);
+ }
+
+ /** {@inheritDoc} */
+ @Override public KeyCacheObject remapKey(int idx) {
+ assert idx == 0;
+
+ return remapKey;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int remapKeysCount() {
+ return remapKey == null ? 0 : 1;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void addNearValue(int keyIdx, @Nullable CacheObject val, long ttl, long expireTime) {
+ if (nearValsIdxs == null) {
+ nearValsIdxs = new ArrayList<>();
+ nearVals = new ArrayList<>();
+ }
+
+ addNearTtl(keyIdx, ttl, expireTime);
+
+ nearValsIdxs.add(keyIdx);
+ nearVals.add(val);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("ForLoopReplaceableByForEach")
+ @Override public void addNearTtl(int keyIdx, long ttl, long expireTime) {
+ if (ttl >= 0) {
+ if (nearTtls == null) {
+ nearTtls = new GridLongList(16);
+
+ for (int i = 0; i < keyIdx; i++)
+ nearTtls.add(-1L);
+ }
+ }
+
+ if (nearTtls != null)
+ nearTtls.add(ttl);
+
+ if (expireTime >= 0) {
+ if (nearExpireTimes == null) {
+ nearExpireTimes = new GridLongList(16);
+
+ for (int i = 0; i < keyIdx; i++)
+ nearExpireTimes.add(-1);
+ }
+ }
+
+ if (nearExpireTimes != null)
+ nearExpireTimes.add(expireTime);
+ }
+
+ /** {@inheritDoc} */
+ @Override public long nearExpireTime(int idx) {
+ if (nearExpireTimes != null) {
+ assert idx >= 0 && idx < nearExpireTimes.size();
+
+ return nearExpireTimes.get(idx);
+ }
+
+ return -1L;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long nearTtl(int idx) {
+ if (nearTtls != null) {
+ assert idx >= 0 && idx < nearTtls.size();
+
+ return nearTtls.get(idx);
+ }
+
+ return -1L;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void nearVersion(GridCacheVersion nearVer) {
+ this.nearVer = nearVer;
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCacheVersion nearVersion() {
+ return nearVer;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void addSkippedIndex(int keyIdx) {
+ if (nearSkipIdxs == null)
+ nearSkipIdxs = new ArrayList<>();
+
+ nearSkipIdxs.add(keyIdx);
+
+ addNearTtl(keyIdx, -1L, -1L);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isNearSkippedIndex(int idx) {
+ return nearSkipIdxs != null && nearSkipIdxs.contains(idx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isNearValueIndex(int idx) {
+ return nearValsIdxs != null && nearValsIdxs.contains(idx);
+ }
+
+ /** {@inheritDoc} */
+ @Override @Nullable public CacheObject nearValue(int idx) {
+ return nearVals.get(idx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public synchronized void addFailedKey(KeyCacheObject key, Throwable e) {
+ failedKey = key;
+
+ setFailedKeysError(e);
+ }
+
+ /** {@inheritDoc} */
+ @Override public synchronized void addFailedKeys(Collection<KeyCacheObject> keys, Throwable e) {
+ if (keys != null) {
+ assert keys.size() == 1;
+
+ failedKey = keys.iterator().next();
+ }
+
+ setFailedKeysError(e);
+ }
+
+ /** {@inheritDoc} */
+ @Override public synchronized void addFailedKeys(GridNearAtomicAbstractUpdateRequest req, Throwable e) {
+ assert req instanceof GridNearAtomicSingleUpdateRequest;
+
+ failedKey = req.key(0);
+
+ setFailedKeysError(e);
+ }
+
+ /**
+ * Set failed keys error.
+ *
+ * @param e Error.
+ */
+ private void setFailedKeysError(Throwable e) {
+ if (err == null)
+ err = new IgniteCheckedException("Failed to update keys on primary node.");
+
+ err.addSuppressed(e);
+ }
+
+ /** {@inheritDoc}
+ * @param ctx*/
+ @Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
+ super.prepareMarshal(ctx);
+
+ if (err != null && errBytes == null)
+ errBytes = ctx.marshaller().marshal(err);
+
+ GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+ prepareMarshalCacheObject(failedKey, cctx);
+ prepareMarshalCacheObject(remapKey, cctx);
+
+ prepareMarshalCacheObjects(nearVals, cctx);
+
+ if (ret != null)
+ ret.prepareMarshal(cctx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException {
+ super.finishUnmarshal(ctx, ldr);
+
+ if (errBytes != null && err == null)
+ err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+
+ GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+ finishUnmarshalCacheObject(failedKey, cctx, ldr);
+ finishUnmarshalCacheObject(remapKey, cctx, ldr);
+
+ finishUnmarshalCacheObjects(nearVals, cctx, ldr);
+
+ if (ret != null)
+ ret.finishUnmarshal(cctx, ldr);
+ }
+
+
+
+ /** {@inheritDoc} */
+ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ writer.setBuffer(buf);
+
+ if (!super.writeTo(buf, writer))
+ return false;
+
+ if (!writer.isHeaderWritten()) {
+ if (!writer.writeHeader(directType(), fieldsCount()))
+ return false;
+
+ writer.onHeaderWritten();
+ }
+
+ switch (writer.state()) {
+ case 3:
+ if (!writer.writeByteArray("errBytes", errBytes))
+ return false;
+
+ writer.incrementState();
+
+ case 4:
+ if (!writer.writeMessage("failedKey", failedKey))
+ return false;
+
+ writer.incrementState();
+
+ case 5:
+ if (!writer.writeMessage("futVer", futVer))
+ return false;
+
+ writer.incrementState();
+
+ case 6:
+ if (!writer.writeMessage("nearExpireTimes", nearExpireTimes))
+ return false;
+
+ writer.incrementState();
+
+ case 7:
+ if (!writer.writeCollection("nearSkipIdxs", nearSkipIdxs, MessageCollectionItemType.INT))
+ return false;
+
+ writer.incrementState();
+
+ case 8:
+ if (!writer.writeMessage("nearTtls", nearTtls))
+ return false;
+
+ writer.incrementState();
+
+ case 9:
+ if (!writer.writeCollection("nearVals", nearVals, MessageCollectionItemType.MSG))
+ return false;
+
+ writer.incrementState();
+
+ case 10:
+ if (!writer.writeCollection("nearValsIdxs", nearValsIdxs, MessageCollectionItemType.INT))
+ return false;
+
+ writer.incrementState();
+
+ case 11:
+ if (!writer.writeMessage("nearVer", nearVer))
+ return false;
+
+ writer.incrementState();
+
+ case 12:
+ if (!writer.writeMessage("remapKey", remapKey))
+ return false;
+
+ writer.incrementState();
+
+ case 13:
+ if (!writer.writeMessage("ret", ret))
+ return false;
+
+ writer.incrementState();
+
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ reader.setBuffer(buf);
+
+ if (!reader.beforeMessageRead())
+ return false;
+
+ if (!super.readFrom(buf, reader))
+ return false;
+
+ switch (reader.state()) {
+ case 3:
+ errBytes = reader.readByteArray("errBytes");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 4:
+ failedKey = reader.readMessage("failedKey");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 5:
+ futVer = reader.readMessage("futVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 6:
+ nearExpireTimes = reader.readMessage("nearExpireTimes");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 7:
+ nearSkipIdxs = reader.readCollection("nearSkipIdxs", MessageCollectionItemType.INT);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 8:
+ nearTtls = reader.readMessage("nearTtls");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 9:
+ nearVals = reader.readCollection("nearVals", MessageCollectionItemType.MSG);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 10:
+ nearValsIdxs = reader.readCollection("nearValsIdxs", MessageCollectionItemType.INT);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 11:
+ nearVer = reader.readMessage("nearVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 12:
+ remapKey = reader.readMessage("remapKey");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 13:
+ ret = reader.readMessage("ret");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ }
+
+ return reader.afterMessageRead(GridNearAtomicSingleUpdateResponse.class);
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte directType() {
+ return 41;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte fieldsCount() {
+ return 14;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(GridNearAtomicSingleUpdateResponse.class, this, "parent");
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a233dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index 4c50bba..7e27657 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -188,10 +188,7 @@ public class GridNearAtomicUpdateResponse extends GridNearAtomicAbstractUpdateRe
}
/** {@inheritDoc} */
- @Override public void addNearValue(int keyIdx,
- @Nullable CacheObject val,
- long ttl,
- long expireTime) {
+ @Override public void addNearValue(int keyIdx, @Nullable CacheObject val, long ttl, long expireTime) {
if (nearValsIdxs == null) {
nearValsIdxs = new ArrayList<>();
nearVals = new ArrayList<>();
[03/20] ignite git commit: Refactoring: use abstract response instead
of concrete.
Posted by vo...@apache.org.
Refactoring: use abstract response instead of concrete.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/279ce729
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/279ce729
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/279ce729
Branch: refs/heads/ignite-2523-1
Commit: 279ce72971f8d8e3bb9a2d8691a480f20bc08541
Parents: 70d2dd7
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 15:57:37 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 15:57:37 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheIoManager.java | 5 +--
.../dht/atomic/GridDhtAtomicCache.java | 37 ++++++++++----------
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 8 ++---
.../GridNearAtomicAbstractUpdateRequest.java | 4 +--
.../GridNearAtomicSingleUpdateFuture.java | 13 +++----
.../GridNearAtomicSingleUpdateRequest.java | 6 ++--
.../dht/atomic/GridNearAtomicUpdateFuture.java | 20 ++++++-----
.../dht/atomic/GridNearAtomicUpdateRequest.java | 6 ++--
.../distributed/near/GridNearAtomicCache.java | 4 +--
.../IgniteClientReconnectAbstractTest.java | 3 +-
.../IgniteClientReconnectCacheTest.java | 31 ++++++++++++----
.../IgniteClientReconnectCollectionsTest.java | 3 +-
12 files changed, 82 insertions(+), 58 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/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 82b7604..4113749 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
@@ -44,6 +44,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrep
import org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateResponse;
+import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse;
@@ -429,7 +430,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
case 40: {
GridNearAtomicUpdateRequest req = (GridNearAtomicUpdateRequest)msg;
- GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(
+ GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(
ctx.cacheId(),
nodeId,
req.futureVersion(),
@@ -607,7 +608,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
case -23: {
GridNearAtomicSingleUpdateRequest req = (GridNearAtomicSingleUpdateRequest)msg;
- GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(
+ GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(
ctx.cacheId(),
nodeId,
req.futureVersion(),
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/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 37a5f45..36cd098 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
@@ -139,7 +139,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
/** Update reply closure. */
@GridToStringExclude
- private CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> updateReplyClos;
+ private CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> updateReplyClos;
/** Pending */
private ConcurrentMap<UUID, DeferredResponseBuffer> pendingResponses = new ConcurrentHashMap8<>();
@@ -192,9 +192,10 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
}
});
- updateReplyClos = new CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse>() {
+ updateReplyClos = new CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse>() {
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
- @Override public void apply(GridNearAtomicAbstractUpdateRequest req, GridNearAtomicUpdateResponse res) {
+ @Override public void apply(GridNearAtomicAbstractUpdateRequest req,
+ GridNearAtomicAbstractUpdateResponse res) {
if (ctx.config().getAtomicWriteOrderMode() == CLOCK) {
assert req.writeSynchronizationMode() != FULL_ASYNC : req;
@@ -1477,7 +1478,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
public void updateAllAsyncInternal(
final UUID nodeId,
final GridNearAtomicAbstractUpdateRequest req,
- final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb
+ final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb
) {
IgniteInternalFuture<Object> forceFut = preldr.request(req.keys(), req.topologyVersion());
@@ -1502,10 +1503,10 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
public void updateAllAsyncInternal0(
UUID nodeId,
GridNearAtomicAbstractUpdateRequest req,
- CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb
+ CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb
) {
- GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(ctx.cacheId(), nodeId, req.futureVersion(),
- ctx.deploymentEnabled());
+ GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(ctx.cacheId(), nodeId,
+ req.futureVersion(), ctx.deploymentEnabled());
assert !req.returnValue() || (req.operation() == TRANSFORM || req.keysCount() == 1);
@@ -1726,11 +1727,11 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
final ClusterNode node,
final boolean hasNear,
final GridNearAtomicAbstractUpdateRequest req,
- final GridNearAtomicUpdateResponse res,
+ final GridNearAtomicAbstractUpdateResponse res,
final List<GridDhtCacheEntry> locked,
final GridCacheVersion ver,
@Nullable GridDhtAtomicUpdateFuture dhtFut,
- final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb,
+ final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb,
final boolean replicate,
final String taskName,
@Nullable final IgniteCacheExpiryPolicy expiry,
@@ -2145,11 +2146,11 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
ClusterNode node,
boolean hasNear,
GridNearAtomicAbstractUpdateRequest req,
- GridNearAtomicUpdateResponse res,
+ GridNearAtomicAbstractUpdateResponse res,
List<GridDhtCacheEntry> locked,
GridCacheVersion ver,
@Nullable GridDhtAtomicUpdateFuture dhtFut,
- CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb,
+ CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb,
boolean replicate,
String taskName,
@Nullable IgniteCacheExpiryPolicy expiry,
@@ -2378,9 +2379,9 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
@Nullable final Collection<KeyCacheObject> rmvKeys,
@Nullable final Map<KeyCacheObject, EntryProcessor<Object, Object, Object>> entryProcessorMap,
@Nullable GridDhtAtomicUpdateFuture dhtFut,
- final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb,
+ final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb,
final GridNearAtomicAbstractUpdateRequest req,
- final GridNearAtomicUpdateResponse res,
+ final GridNearAtomicAbstractUpdateResponse res,
final boolean replicate,
final UpdateBatchResult batchRes,
final String taskName,
@@ -2757,7 +2758,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
* @return {@code True} if filter evaluation succeeded.
*/
private boolean checkFilter(GridCacheEntryEx entry, GridNearAtomicAbstractUpdateRequest req,
- GridNearAtomicUpdateResponse res) {
+ GridNearAtomicAbstractUpdateResponse res) {
try {
return ctx.isAllLocked(entry, req.filter());
}
@@ -2851,8 +2852,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
@Nullable private GridDhtAtomicUpdateFuture createDhtFuture(
GridCacheVersion writeVer,
GridNearAtomicAbstractUpdateRequest updateReq,
- GridNearAtomicUpdateResponse updateRes,
- CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb,
+ GridNearAtomicAbstractUpdateResponse updateRes,
+ CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb,
boolean force
) {
if (!force) {
@@ -2897,7 +2898,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
* @param res Near atomic update response.
*/
@SuppressWarnings("unchecked")
- private void processNearAtomicUpdateResponse(UUID nodeId, GridNearAtomicUpdateResponse res) {
+ private void processNearAtomicUpdateResponse(UUID nodeId, GridNearAtomicAbstractUpdateResponse res) {
if (log.isDebugEnabled())
log.debug("Processing near atomic update response [nodeId=" + nodeId + ", res=" + res + ']');
@@ -3108,7 +3109,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
* @param nodeId Originating node ID.
* @param res Near update response.
*/
- private void sendNearUpdateReply(UUID nodeId, GridNearAtomicUpdateResponse res) {
+ private void sendNearUpdateReply(UUID nodeId, GridNearAtomicAbstractUpdateResponse res) {
try {
ctx.io().send(nodeId, res, ctx.ioPolicy());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
index 1fcac71..82238e0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
@@ -79,7 +79,7 @@ public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
/** Completion callback. */
@GridToStringExclude
- private final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb;
+ private final CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb;
/** Mappings. */
@GridToStringInclude
@@ -92,7 +92,7 @@ public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
private final GridNearAtomicAbstractUpdateRequest updateReq;
/** Update response. */
- private final GridNearAtomicUpdateResponse updateRes;
+ private final GridNearAtomicAbstractUpdateResponse updateRes;
/** Future keys. */
private final Collection<KeyCacheObject> keys;
@@ -115,10 +115,10 @@ public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
*/
public GridDhtAtomicUpdateFuture(
GridCacheContext cctx,
- CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse> completionCb,
+ CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse> completionCb,
GridCacheVersion writeVer,
GridNearAtomicAbstractUpdateRequest updateReq,
- GridNearAtomicUpdateResponse updateRes
+ GridNearAtomicAbstractUpdateResponse updateRes
) {
this.cctx = cctx;
this.writeVer = writeVer;
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
index 6e868e4..7e3e2e5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
@@ -215,12 +215,12 @@ public abstract class GridNearAtomicAbstractUpdateRequest extends GridCacheMessa
* @param res Response.
* @return {@code True} if current response was {@code null}.
*/
- public abstract boolean onResponse(GridNearAtomicUpdateResponse res);
+ public abstract boolean onResponse(GridNearAtomicAbstractUpdateResponse res);
/**
* @return Response.
*/
- @Nullable public abstract GridNearAtomicUpdateResponse response();
+ @Nullable public abstract GridNearAtomicAbstractUpdateResponse response();
/**
* Cleanup values.
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
index 34399ac..064e067 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
@@ -146,7 +146,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
/** {@inheritDoc} */
@Override public boolean onNodeLeft(UUID nodeId) {
- GridNearAtomicUpdateResponse res = null;
+ GridNearAtomicAbstractUpdateResponse res = null;
synchronized (mux) {
GridNearAtomicAbstractUpdateRequest req = this.req != null && this.req.nodeId().equals(nodeId) ?
@@ -212,7 +212,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
* @param nodeErr {@code True} if response was created on node failure.
*/
@SuppressWarnings({"unchecked", "ThrowableResultOfMethodCallIgnored"})
- public void onResult(UUID nodeId, GridNearAtomicUpdateResponse res, boolean nodeErr) {
+ public void onResult(UUID nodeId, GridNearAtomicAbstractUpdateResponse res, boolean nodeErr) {
GridNearAtomicAbstractUpdateRequest req;
AffinityTopologyVersion remapTopVer = null;
@@ -389,7 +389,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
* @param req Update request.
* @param res Update response.
*/
- private void updateNear(GridNearAtomicAbstractUpdateRequest req, GridNearAtomicUpdateResponse res) {
+ private void updateNear(GridNearAtomicAbstractUpdateRequest req, GridNearAtomicAbstractUpdateResponse res) {
assert nearEnabled;
if (res.remapKeysCount() > 0 || !req.hasPrimary())
@@ -463,8 +463,9 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
private void mapSingle(UUID nodeId, GridNearAtomicAbstractUpdateRequest req) {
if (cctx.localNodeId().equals(nodeId)) {
cache.updateAllAsyncInternal(nodeId, req,
- new CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse>() {
- @Override public void apply(GridNearAtomicAbstractUpdateRequest req, GridNearAtomicUpdateResponse res) {
+ new CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse>() {
+ @Override public void apply(GridNearAtomicAbstractUpdateRequest req,
+ GridNearAtomicAbstractUpdateResponse res) {
onResult(res.nodeId(), res, false);
}
});
@@ -491,7 +492,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
*/
void onSendError(GridNearAtomicAbstractUpdateRequest req, IgniteCheckedException e) {
synchronized (mux) {
- GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(cctx.cacheId(),
+ GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(cctx.cacheId(),
req.nodeId(),
req.futureVersion(),
cctx.deploymentEnabled());
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
index 13b990e..ef1f50a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
@@ -152,7 +152,7 @@ public class GridNearAtomicSingleUpdateRequest extends GridNearAtomicAbstractUpd
/** */
@GridDirectTransient
- private GridNearAtomicUpdateResponse res;
+ private GridNearAtomicAbstractUpdateResponse res;
/** Target node ID. */
@GridDirectTransient
@@ -427,7 +427,7 @@ public class GridNearAtomicSingleUpdateRequest extends GridNearAtomicAbstractUpd
}
/** {@inheritDoc} */
- @Override public boolean onResponse(GridNearAtomicUpdateResponse res) {
+ @Override public boolean onResponse(GridNearAtomicAbstractUpdateResponse res) {
if (this.res == null) {
this.res = res;
@@ -438,7 +438,7 @@ public class GridNearAtomicSingleUpdateRequest extends GridNearAtomicAbstractUpd
}
/** {@inheritDoc} */
- @Override @Nullable public GridNearAtomicUpdateResponse response() {
+ @Override @Nullable public GridNearAtomicAbstractUpdateResponse response() {
return res;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/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 bad4647..07071f2 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
@@ -164,7 +164,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
/** {@inheritDoc} */
@Override public boolean onNodeLeft(UUID nodeId) {
- GridNearAtomicUpdateResponse res = null;
+ GridNearAtomicAbstractUpdateResponse res = null;
synchronized (mux) {
GridNearAtomicUpdateRequest req;
@@ -258,7 +258,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
* @param nodeErr {@code True} if response was created on node failure.
*/
@SuppressWarnings({"unchecked", "ThrowableResultOfMethodCallIgnored"})
- public void onResult(UUID nodeId, GridNearAtomicUpdateResponse res, boolean nodeErr) {
+ public void onResult(UUID nodeId, GridNearAtomicAbstractUpdateResponse res, boolean nodeErr) {
GridNearAtomicUpdateRequest req;
AffinityTopologyVersion remapTopVer = null;
@@ -409,7 +409,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
if (rcvAll && nearEnabled) {
if (mappings != null) {
for (GridNearAtomicUpdateRequest req0 : mappings.values()) {
- GridNearAtomicUpdateResponse res0 = req0.response();
+ GridNearAtomicAbstractUpdateResponse res0 = req0.response();
assert res0 != null : req0;
@@ -484,7 +484,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
* @param req Update request.
* @param res Update response.
*/
- private void updateNear(GridNearAtomicUpdateRequest req, GridNearAtomicUpdateResponse res) {
+ private void updateNear(GridNearAtomicUpdateRequest req, GridNearAtomicAbstractUpdateResponse res) {
assert nearEnabled;
if (res.remapKeysCount() > 0 || !req.hasPrimary())
@@ -558,8 +558,9 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
private void mapSingle(UUID nodeId, GridNearAtomicUpdateRequest req) {
if (cctx.localNodeId().equals(nodeId)) {
cache.updateAllAsyncInternal(nodeId, req,
- new CI2<GridNearAtomicUpdateRequest, GridNearAtomicUpdateResponse>() {
- @Override public void apply(GridNearAtomicUpdateRequest req, GridNearAtomicUpdateResponse res) {
+ new CI2<GridNearAtomicUpdateRequest, GridNearAtomicAbstractUpdateResponse>() {
+ @Override public void apply(GridNearAtomicUpdateRequest req,
+ GridNearAtomicAbstractUpdateResponse res) {
onResult(res.nodeId(), res, false);
}
});
@@ -613,8 +614,9 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
if (locUpdate != null) {
cache.updateAllAsyncInternal(cctx.localNodeId(), locUpdate,
- new CI2<GridNearAtomicUpdateRequest, GridNearAtomicUpdateResponse>() {
- @Override public void apply(GridNearAtomicUpdateRequest req, GridNearAtomicUpdateResponse res) {
+ new CI2<GridNearAtomicUpdateRequest, GridNearAtomicAbstractUpdateResponse>() {
+ @Override public void apply(GridNearAtomicUpdateRequest req,
+ GridNearAtomicAbstractUpdateResponse res) {
onResult(res.nodeId(), res, false);
}
});
@@ -630,7 +632,7 @@ public class GridNearAtomicUpdateFuture extends GridNearAtomicAbstractUpdateFutu
*/
void onSendError(GridNearAtomicUpdateRequest req, IgniteCheckedException e) {
synchronized (mux) {
- GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(cctx.cacheId(),
+ GridNearAtomicAbstractUpdateResponse res = new GridNearAtomicUpdateResponse(cctx.cacheId(),
req.nodeId(),
req.futureVersion(),
cctx.deploymentEnabled());
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/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 d458ac2..75c530d 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
@@ -149,7 +149,7 @@ public class GridNearAtomicUpdateRequest extends GridNearAtomicAbstractUpdateReq
/** */
@GridDirectTransient
- private GridNearAtomicUpdateResponse res;
+ private GridNearAtomicAbstractUpdateResponse res;
/** Target node ID. */
@GridDirectTransient
@@ -506,7 +506,7 @@ public class GridNearAtomicUpdateRequest extends GridNearAtomicAbstractUpdateReq
}
/** {@inheritDoc} */
- @Override public boolean onResponse(GridNearAtomicUpdateResponse res) {
+ @Override public boolean onResponse(GridNearAtomicAbstractUpdateResponse res) {
if (this.res == null) {
this.res = res;
@@ -517,7 +517,7 @@ public class GridNearAtomicUpdateRequest extends GridNearAtomicAbstractUpdateReq
}
/** {@inheritDoc} */
- @Override @Nullable public GridNearAtomicUpdateResponse response() {
+ @Override @Nullable public GridNearAtomicAbstractUpdateResponse response() {
return res;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
index ac1ef70..995b948 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -45,7 +45,7 @@ import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDh
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateRequest;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateRequest;
-import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse;
+import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateResponse;
import org.apache.ignite.internal.processors.cache.dr.GridCacheDrInfo;
import org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalEx;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
@@ -127,7 +127,7 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
*/
public void processNearAtomicUpdateResponse(
GridNearAtomicAbstractUpdateRequest req,
- GridNearAtomicUpdateResponse res
+ GridNearAtomicAbstractUpdateResponse res
) {
if (res.failedKeysCount() == req.keysCount())
return;
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAbstractTest.java
index 4d49366..36e8aa2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectAbstractTest.java
@@ -419,6 +419,7 @@ public abstract class IgniteClientReconnectAbstractTest extends GridCommonAbstra
private IgniteLogger log;
/** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
@Override public void sendMessage(ClusterNode node, Message msg, IgniteInClosure<IgniteException> ackC)
throws IgniteSpiException {
Class msgCls0 = msgCls;
@@ -427,7 +428,7 @@ public abstract class IgniteClientReconnectAbstractTest extends GridCommonAbstra
classes.put(((GridIoMessage)msg).message().getClass().getName(), node);
if (msgCls0 != null && msg instanceof GridIoMessage
- && ((GridIoMessage)msg).message().getClass().equals(msgCls)) {
+ && msgCls0.isAssignableFrom(((GridIoMessage)msg).message().getClass())) {
log.info("Block message: " + msg);
return;
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
index ad6c46f..8451a55 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
@@ -19,6 +19,8 @@ package org.apache.ignite.internal;
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -805,14 +807,20 @@ public class IgniteClientReconnectCacheTest extends IgniteClientReconnectAbstrac
ccfg.setWriteSynchronizationMode(syncMode);
if (syncMode != FULL_ASYNC) {
- Class<?> cls = (ccfg.getAtomicityMode() == ATOMIC) ?
- GridNearAtomicUpdateResponse.class : GridNearTxPrepareResponse.class;
-
log.info("Test cache put [atomicity=" + atomicityMode +
", writeOrder=" + writeOrder +
", syncMode=" + syncMode + ']');
- checkOperationInProgressFails(client, ccfg, cls, putOp);
+ if (ccfg.getAtomicityMode() == ATOMIC) {
+ Collection<Class> clss = new HashSet<>();
+
+ clss.add(GridNearAtomicUpdateResponse.class);
+ // TODO: Add single.
+
+ checkOperationInProgressFails(client, ccfg, clss, putOp);
+ }
+ else
+ checkOperationInProgressFails(client, ccfg, GridNearTxPrepareResponse.class, putOp);
client.destroyCache(ccfg.getName());
}
@@ -1250,16 +1258,24 @@ public class IgniteClientReconnectCacheTest extends IgniteClientReconnectAbstrac
*/
static class TestClass5 implements Serializable {}
+ private void checkOperationInProgressFails(IgniteEx client,
+ final CacheConfiguration<Object, Object> ccfg,
+ Class msgToBlock,
+ final IgniteInClosure<IgniteCache<Object, Object>> c)
+ throws Exception {
+ checkOperationInProgressFails(client, ccfg, Collections.singleton(msgToBlock), c);
+ }
+
/**
* @param client Client.
* @param ccfg Cache configuration.
- * @param msgToBlock Message to block.
+ * @param msgsToBlock Message to block.
* @param c Cache operation closure.
* @throws Exception If failed.
*/
private void checkOperationInProgressFails(IgniteEx client,
final CacheConfiguration<Object, Object> ccfg,
- Class<?> msgToBlock,
+ Collection<Class> msgsToBlock,
final IgniteInClosure<IgniteCache<Object, Object>> c)
throws Exception
{
@@ -1272,7 +1288,8 @@ public class IgniteClientReconnectCacheTest extends IgniteClientReconnectAbstrac
for (int i = 0; i < SRV_CNT; i++) {
TestCommunicationSpi srvCommSpi = (TestCommunicationSpi)grid(i).configuration().getCommunicationSpi();
- srvCommSpi.blockMessages(msgToBlock, client.localNode().id());
+ for (Class msgToBlock : msgsToBlock)
+ srvCommSpi.blockMessages(msgToBlock, client.localNode().id());
}
IgniteInternalFuture<?> fut = GridTestUtils.runAsync(new Callable<Object>() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/279ce729/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
index 8ee669c..e8b7d06 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
@@ -26,6 +26,7 @@ import org.apache.ignite.IgniteClientDisconnectedException;
import org.apache.ignite.IgniteQueue;
import org.apache.ignite.IgniteSet;
import org.apache.ignite.configuration.CollectionConfiguration;
+import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxPrepareResponse;
import org.apache.ignite.testframework.GridTestUtils;
@@ -315,7 +316,7 @@ public class IgniteClientReconnectCollectionsTest extends IgniteClientReconnectA
BlockTcpCommunicationSpi commSpi = commSpi(srv);
if (colCfg.getAtomicityMode() == ATOMIC)
- commSpi.blockMessage(GridNearAtomicUpdateResponse.class);
+ commSpi.blockMessage(GridNearAtomicAbstractUpdateResponse.class);
else
commSpi.blockMessage(GridNearTxPrepareResponse.class);
[12/20] ignite git commit: Merge branch 'ignite-2523-1' into
ignite-2523-1-resp
Posted by vo...@apache.org.
Merge branch 'ignite-2523-1' into ignite-2523-1-resp
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f163abad
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f163abad
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f163abad
Branch: refs/heads/ignite-2523-1
Commit: f163abad1d27e4040615a9239f1699f969c480f0
Parents: 5f55c4d fa3bc45
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Thu Apr 28 14:28:43 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Thu Apr 28 14:28:43 2016 +0300
----------------------------------------------------------------------
.../datastructures/IgniteLockExample.java | 293 +++
.../ignite/examples/CacheExamplesSelfTest.java | 8 +
.../internal/benchmarks/model/IntValue.java | 19 +-
.../src/main/java/org/apache/ignite/Ignite.java | 17 +
.../java/org/apache/ignite/IgniteCondition.java | 338 +++
.../main/java/org/apache/ignite/IgniteLock.java | 489 +++++
.../configuration/CacheConfiguration.java | 2 +
.../ignite/internal/GridKernalContextImpl.java | 4 +-
.../ignite/internal/IgniteEventsImpl.java | 11 +-
.../apache/ignite/internal/IgniteKernal.java | 21 +
.../ignite/internal/IgniteMessagingImpl.java | 7 +-
.../org/apache/ignite/internal/IgnitionEx.java | 2 +-
.../ignite/internal/binary/BinaryContext.java | 4 +
.../internal/binary/BinaryObjectImpl.java | 14 +
.../internal/binary/GridBinaryMarshaller.java | 3 +
.../internal/direct/DirectMessageReader.java | 5 +
.../processors/cache/GridCacheAdapter.java | 448 ++--
.../cache/GridCacheAffinityManager.java | 10 +-
.../cache/GridCacheClearAllRunnable.java | 2 +-
.../cache/GridCacheConcurrentMap.java | 1996 +-----------------
.../cache/GridCacheConcurrentMapImpl.java | 344 +++
.../processors/cache/GridCacheContext.java | 52 +-
.../cache/GridCacheDeploymentManager.java | 2 +-
.../processors/cache/GridCacheEntrySet.java | 113 -
.../cache/GridCacheEvictionManager.java | 2 +-
.../processors/cache/GridCacheKeySet.java | 104 -
.../processors/cache/GridCacheMapEntry.java | 22 +-
.../processors/cache/GridCacheProcessor.java | 1 -
.../processors/cache/GridCacheProxyImpl.java | 2 +-
.../processors/cache/GridCacheUtils.java | 1 -
.../processors/cache/GridNoStorageCacheMap.java | 107 +
.../processors/cache/IgniteInternalCache.java | 2 +-
.../processors/cache/KeyCacheObject.java | 11 +
.../processors/cache/KeyCacheObjectImpl.java | 32 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 24 +-
.../GridDistributedCacheAdapter.java | 4 +-
.../distributed/GridDistributedLockRequest.java | 19 +-
.../GridDistributedTxRemoteAdapter.java | 1 -
.../GridDistributedUnlockRequest.java | 16 +-
.../dht/GridCachePartitionedConcurrentMap.java | 191 ++
.../dht/GridClientPartitionTopology.java | 7 -
.../distributed/dht/GridDhtCacheAdapter.java | 77 +-
.../distributed/dht/GridDhtCacheEntry.java | 25 +-
.../distributed/dht/GridDhtLocalPartition.java | 152 +-
.../distributed/dht/GridDhtLockRequest.java | 16 +-
.../dht/GridDhtPartitionTopology.java | 7 -
.../dht/GridDhtPartitionTopologyImpl.java | 281 ++-
.../distributed/dht/GridDhtUnlockRequest.java | 15 +-
.../distributed/dht/GridNoStorageCacheMap.java | 122 --
.../dht/GridPartitionedGetFuture.java | 2 +-
.../dht/GridPartitionedSingleGetFuture.java | 2 +-
.../dht/atomic/GridDhtAtomicCache.java | 75 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 22 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 6 +-
.../dht/atomic/GridNearAtomicUpdateRequest.java | 31 +-
.../dht/colocated/GridDhtColocatedCache.java | 13 +-
.../dht/preloader/GridDhtPartitionDemander.java | 2 +-
.../dht/preloader/GridDhtPartitionSupplier.java | 8 +-
.../distributed/near/GridNearCacheAdapter.java | 94 +-
.../distributed/near/GridNearGetFuture.java | 2 +-
.../distributed/near/GridNearGetRequest.java | 45 +-
.../distributed/near/GridNearLockRequest.java | 16 +-
.../near/GridNearSingleGetRequest.java | 24 +-
.../distributed/near/GridNearUnlockRequest.java | 21 +-
.../processors/cache/local/GridLocalCache.java | 7 +-
.../local/atomic/GridLocalAtomicCache.java | 24 +-
.../continuous/CacheContinuousQueryManager.java | 1 +
.../cache/transactions/IgniteInternalTx.java | 1 -
.../cache/transactions/IgniteTxAdapter.java | 1 -
.../cache/transactions/IgniteTxEntry.java | 35 +-
.../cacheobject/IgniteCacheObjectProcessor.java | 10 +
.../IgniteCacheObjectProcessorImpl.java | 36 +-
.../continuous/GridContinuousProcessor.java | 29 +-
.../datastructures/DataStructuresProcessor.java | 158 +-
.../GridCacheAtomicReferenceImpl.java | 2 +-
.../datastructures/GridCacheLockEx.java | 52 +
.../datastructures/GridCacheLockImpl.java | 1538 ++++++++++++++
.../datastructures/GridCacheLockState.java | 353 ++++
.../datastructures/GridCacheSemaphoreImpl.java | 33 +
.../platform/PlatformAbstractBootstrap.java | 17 +-
.../processors/platform/PlatformBootstrap.java | 6 +-
.../platform/PlatformContextImpl.java | 1 -
.../PlatformDefaultJavaObjectFactory.java | 62 +
.../processors/platform/PlatformIgnition.java | 18 +-
.../platform/PlatformJavaObjectFactoryEx.java | 36 +
.../PlatformJavaObjectFactoryProxy.java | 192 ++
.../PlatformJavaObjectSingletonFactory.java | 48 +
.../platform/PlatformNoopProcessor.java | 10 +
.../processors/platform/PlatformProcessor.java | 19 +
.../platform/PlatformProcessorImpl.java | 41 +-
.../query/PlatformContinuousQueryImpl.java | 50 +-
.../utils/PlatformConfigurationUtils.java | 98 +-
.../platform/utils/PlatformUtils.java | 69 +
.../ignite/internal/util/IgniteUtils.java | 5 +-
.../internal/util/PartitionedReadOnlySet.java | 71 +
.../util/StripedCompositeReadWriteLock.java | 10 +
.../ignite/internal/util/lang/GridFunc.java | 3 +-
.../ignite/internal/visor/cache/VisorCache.java | 6 +-
.../platform/PlatformJavaObjectFactory.java | 36 +
.../extensions/communication/MessageReader.java | 9 +
.../ignite/spi/IgniteNodeValidationResult.java | 8 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 250 ++-
.../tcp/internal/TcpDiscoveryNode.java | 2 +-
.../messages/TcpDiscoveryAbstractMessage.java | 4 +-
.../TcpDiscoveryCustomEventMessage.java | 13 +-
.../TcpDiscoveryJoinRequestMessage.java | 16 +-
.../TcpDiscoveryStatusCheckMessage.java | 18 +-
.../resources/META-INF/classnames.properties | 2 +
.../IgniteClientReconnectAtomicsTest.java | 58 +
.../GridCachePreloadingEvictionsSelfTest.java | 4 +-
.../cache/GridCacheTtlManagerSelfTest.java | 2 +-
...idCacheValueConsistencyAbstractSelfTest.java | 3 +-
.../IgniteDynamicClientCacheStartSelfTest.java | 10 -
.../IgniteTxStoreExceptionAbstractSelfTest.java | 8 +-
.../GridCacheBinaryObjectsAbstractSelfTest.java | 2 +-
...eAbstractDataStructuresFailoverSelfTest.java | 208 +-
...actQueueFailoverDataConsistencySelfTest.java | 2 +-
.../GridCacheQueueCleanupSelfTest.java | 4 +-
.../GridCacheSequenceApiSelfAbstractTest.java | 37 -
.../GridCacheSetAbstractSelfTest.java | 5 +-
.../GridCacheSetFailoverAbstractSelfTest.java | 8 +-
.../IgniteClientDataStructuresAbstractTest.java | 70 +
.../IgniteDataStructureUniqueNameTest.java | 16 +-
.../IgniteLockAbstractSelfTest.java | 1629 ++++++++++++++
.../IgniteSemaphoreAbstractSelfTest.java | 31 +
.../local/IgniteLocalLockSelfTest.java | 110 +
.../IgnitePartitionedLockSelfTest.java | 33 +
.../IgnitePartitionedQueueNoBackupsTest.java | 6 +-
.../IgnitePartitionedSetNoBackupsSelfTest.java | 6 +-
.../IgniteReplicatedLockSelfTest.java | 33 +
.../distributed/GridCacheLockAbstractTest.java | 2 +-
.../distributed/dht/GridCacheDhtTestUtils.java | 9 +-
.../near/GridCacheNearOneNodeSelfTest.java | 4 +-
.../processors/igfs/IgfsAbstractSelfTest.java | 10 +-
.../cache/GridCacheDataStructuresLoadTest.java | 53 +
.../platform/PlatformCacheEntryEventFilter.java | 193 ++
.../PlatformCacheEntryEventFilterFactory.java | 59 +
...latformDefaultJavaObjectFactorySelfTest.java | 185 ++
.../PlatformJavaObjectFactoryProxySelfTest.java | 220 ++
.../platform/PlatformStartIgniteTask.java | 1 +
.../ignite/platform/PlatformStopIgniteTask.java | 1 +
.../platform/javaobject/TestJavaObject.java | 271 +++
.../javaobject/TestJavaObjectNoDefaultCtor.java | 49 +
.../TestJavaObjectNoDefaultCtorFactory.java | 68 +
.../ignite/testframework/junits/IgniteMock.java | 10 +
.../junits/multijvm/IgniteProcessProxy.java | 7 +
.../ignite/testsuites/IgniteBasicTestSuite.java | 2 +
.../IgniteCacheDataStructuresSelfTestSuite.java | 6 +
.../testsuites/IgnitePlatformsTestSuite.java | 41 +
.../common/include/ignite/common/concurrent.h | 176 +-
.../cpp/common/include/ignite/common/exports.h | 2 +
.../cpp/common/include/ignite/common/java.h | 5 +
.../platforms/cpp/common/project/vs/module.def | 2 +
modules/platforms/cpp/common/src/concurrent.cpp | 13 +-
modules/platforms/cpp/common/src/exports.cpp | 8 +
modules/platforms/cpp/common/src/java.cpp | 30 +
.../cpp/core-test/src/concurrent_test.cpp | 93 +
.../Apache.Ignite.Core.Tests.csproj | 2 +
.../Cache/CacheConfigurationTest.cs | 49 +
.../Cache/CacheNearTest.cs | 188 ++
.../Cache/Query/CacheLinqTest.cs | 2 -
.../Continuous/ContinuousQueryJavaFilterTest.cs | 323 +++
.../Apache.Ignite.Core.Tests/EventsTest.cs | 4 +-
.../IgniteConfigurationSerializerTest.cs | 3 +-
.../IgniteConfigurationTest.cs | 2 +
.../dotnet/Apache.Ignite.Core.Tests/app.config | 4 +
.../Apache.Ignite.Core.csproj | 16 +-
.../Cache/Configuration/CacheConfiguration.cs | 15 +
.../Configuration/NearCacheConfiguration.cs | 75 +
.../Cache/Eviction/EvictionPolicyBase.cs | 126 ++
.../Cache/Eviction/FifoEvictionPolicy.cs | 39 +
.../Cache/Eviction/IEvictionPolicy.cs | 32 +
.../Cache/Eviction/LruEvictionPolicy.cs | 39 +
.../Continuous/ContinuousQueryExtensions.cs | 42 +
.../Apache.Ignite.Core/Events/CacheEvent.cs | 9 +-
.../dotnet/Apache.Ignite.Core/IIgnite.cs | 42 +
.../Apache.Ignite.Core/IgniteConfiguration.cs | 34 +
.../Impl/Binary/BinaryUtils.cs | 3 +
.../Impl/Binary/Marshaller.cs | 2 +
.../Cache/Event/JavaCacheEntryEventFilter.cs | 49 +
.../Continuous/ContinuousQueryHandleImpl.cs | 17 +-
.../Common/PlatformJavaObjectFactoryProxy.cs | 106 +
.../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 62 +
.../Apache.Ignite.Core/Impl/IgniteProxy.cs | 25 +
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 6 +
.../Impl/Unmanaged/UnmanagedUtils.cs | 32 +
.../Apache.Ignite.Core/Interop/JavaObject.cs | 80 +
.../ignite/schema/generator/CodeGenerator.java | 30 +-
.../ignite/schema/generator/XmlGenerator.java | 2 +-
.../org/apache/ignite/IgniteSpringBean.java | 11 +
190 files changed, 11294 insertions(+), 3190 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f163abad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 4c5d46c,4bbf47a..2c0417c
--- 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
@@@ -190,12 -189,16 +189,17 @@@ public class GridDhtAtomicCache<K, V> e
return new GridDhtAtomicCacheEntry(ctx, topVer, key, hash, val);
}
- });
+ };
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void init() {
+ super.init();
- updateReplyClos = new CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicUpdateResponse>() {
+ updateReplyClos = new CI2<GridNearAtomicAbstractUpdateRequest, GridNearAtomicAbstractUpdateResponse>() {
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
- @Override public void apply(GridNearAtomicAbstractUpdateRequest req, GridNearAtomicUpdateResponse res) {
+ @Override public void apply(GridNearAtomicAbstractUpdateRequest req,
+ GridNearAtomicAbstractUpdateResponse res) {
if (ctx.config().getAtomicWriteOrderMode() == CLOCK) {
assert req.writeSynchronizationMode() != FULL_ASYNC : req;
http://git-wip-us.apache.org/repos/asf/ignite/blob/f163abad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f163abad/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
----------------------------------------------------------------------
[04/20] ignite git commit: Minors.
Posted by vo...@apache.org.
Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/1eb4bfb8
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/1eb4bfb8
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/1eb4bfb8
Branch: refs/heads/ignite-2523-1
Commit: 1eb4bfb8b12eaa55c31c926945e288428fc50131
Parents: 279ce72
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Apr 26 15:58:39 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Apr 26 15:58:39 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/IgniteClientReconnectCollectionsTest.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/1eb4bfb8/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
index e8b7d06..2149ae2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
@@ -27,7 +27,6 @@ import org.apache.ignite.IgniteQueue;
import org.apache.ignite.IgniteSet;
import org.apache.ignite.configuration.CollectionConfiguration;
import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateResponse;
-import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse;
import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxPrepareResponse;
import org.apache.ignite.testframework.GridTestUtils;
@@ -458,7 +457,7 @@ public class IgniteClientReconnectCollectionsTest extends IgniteClientReconnectA
BlockTcpCommunicationSpi commSpi = commSpi(srv);
if (colCfg.getAtomicityMode() == ATOMIC)
- commSpi.blockMessage(GridNearAtomicUpdateResponse.class);
+ commSpi.blockMessage(GridNearAtomicAbstractUpdateResponse.class);
else
commSpi.blockMessage(GridNearTxPrepareResponse.class);