You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by iv...@apache.org on 2015/07/20 17:05:35 UTC
[19/23] incubator-ignite git commit: #ignite-1087: add tests.
#ignite-1087: add tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/14b58dbc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/14b58dbc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/14b58dbc
Branch: refs/heads/ignite-1087
Commit: 14b58dbc799885989b20e91868848de828df7972
Parents: 17b0fb7
Author: ivasilinets <iv...@gridgain.com>
Authored: Mon Jul 13 16:31:33 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Mon Jul 13 16:31:33 2015 +0300
----------------------------------------------------------------------
.../cache/CacheAffinityCallSelfTest.java | 42 ++++++++++++++++++--
1 file changed, 39 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/14b58dbc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
index a8a838e..2505eb9 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
@@ -1,6 +1,7 @@
package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
import org.apache.ignite.internal.util.typedef.internal.*;
@@ -29,6 +30,9 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
private static final int MAX_FAILOVER_ATTEMPTS = 5;
/** */
+ private static final int SERVERS_COUNT = 4;
+
+ /** */
private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
/** {@inheritDoc} */
@@ -52,6 +56,9 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
cfg.setCacheConfiguration(ccfg);
+ if (gridName.equals(getTestGridName(SERVERS_COUNT)))
+ cfg.setClientMode(true);
+
return cfg;
}
@@ -84,6 +91,37 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
}
/**
+ * @throws Exception If failed.
+ */
+ public void testAffinityCallNoServerNode() throws Exception {
+ startGrids(SERVERS_COUNT + 1);
+
+ final Integer key = 1;
+
+ final Ignite client = grid(SERVERS_COUNT);
+
+ final IgniteInternalFuture<Object> fut = GridTestUtils.runAsync(new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ for (int i = 0; i < SERVERS_COUNT; ++i)
+ stopGrid(i);
+
+ return null;
+ }
+ });
+
+ GridTestUtils.assertThrows(log, new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ while (!fut.isDone())
+ client.compute().affinityCall(CACHE_NAME, key, new CheckCallable(key));
+
+ return null;
+ }
+ }, ClusterGroupEmptyException.class, "Topology projection is empty");
+
+ stopAllGrids();
+ }
+
+ /**
* Test callable.
*/
public static class CheckCallable implements IgniteCallable<Object> {
@@ -103,11 +141,9 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
/** {@inheritDoc} */
@Override public Object call() throws IgniteCheckedException {
- assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(null, key).id());
+ assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(CACHE_NAME, key).id());
return null;
}
}
-
-
}