You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/09/28 13:05:22 UTC
[03/15] ignite git commit: IGNITE-3965 @GridInternal tasks should run
via standart LoadBalancingSpi. Added test.
IGNITE-3965 @GridInternal tasks should run via standart LoadBalancingSpi. Added test.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/89c30c8b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/89c30c8b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/89c30c8b
Branch: refs/heads/ignite-3601p
Commit: 89c30c8b0be6915d2399be508ddcd9eb439a9aaa
Parents: c188c3c
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Wed Sep 28 08:57:45 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Wed Sep 28 08:57:45 2016 +0700
----------------------------------------------------------------------
.../apache/ignite/compute/ComputeTaskSpis.java | 8 +-
.../ignite/internal/GridTaskSessionImpl.java | 15 +-
.../org/apache/ignite/internal/IgnitionEx.java | 22 ++
.../loadbalancer/GridLoadBalancerManager.java | 10 +-
.../processors/job/GridJobProcessor.java | 3 +-
.../session/GridTaskSessionProcessor.java | 9 +-
.../processors/task/GridTaskProcessor.java | 3 +-
.../processors/task/GridTaskWorker.java | 2 +-
.../GridInternalTasksLoadBalancingSelfTest.java | 201 +++++++++++++++++++
.../IgniteSpiLoadBalancingSelfTestSuite.java | 34 ++--
10 files changed, 279 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSpis.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSpis.java b/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSpis.java
index 5edd464..0b6e425 100644
--- a/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSpis.java
+++ b/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSpis.java
@@ -38,22 +38,22 @@ import java.lang.annotation.Target;
public @interface ComputeTaskSpis {
/**
* Optional load balancing SPI name. By default, SPI name is equal
- * to the name of the SPI class. You can change SPI name by explicitely
+ * to the name of the SPI class. You can change SPI name by explicitly
* supplying {@link org.apache.ignite.spi.IgniteSpi#getName()} parameter in grid configuration.
*/
public String loadBalancingSpi() default "";
/**
* Optional failover SPI name. By default, SPI name is equal
- * to the name of the SPI class. You can change SPI name by explicitely
+ * to the name of the SPI class. You can change SPI name by explicitly
* supplying {@link org.apache.ignite.spi.IgniteSpi#getName()} parameter in grid configuration.
*/
public String failoverSpi() default "";
/**
* Optional checkpoint SPI name. By default, SPI name is equal
- * to the name of the SPI class. You can change SPI name by explicitely
+ * to the name of the SPI class. You can change SPI name by explicitly
* supplying {@link org.apache.ignite.spi.IgniteSpi#getName()} parameter in grid configuration.
*/
public String checkpointSpi() default "";
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java
index bbe05b8..dd1caa1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java
@@ -103,6 +103,9 @@ public class GridTaskSessionImpl implements GridTaskSessionInternal {
private final boolean fullSup;
/** */
+ private final boolean internal;
+
+ /** */
private final Collection<UUID> top;
/** */
@@ -124,6 +127,7 @@ public class GridTaskSessionImpl implements GridTaskSessionInternal {
* @param attrs Session attributes.
* @param ctx Grid Kernal Context.
* @param fullSup Session full support enabled flag.
+ * @param internal Internal task flag.
* @param subjId Subject ID.
*/
public GridTaskSessionImpl(
@@ -139,6 +143,7 @@ public class GridTaskSessionImpl implements GridTaskSessionInternal {
@Nullable Map<Object, Object> attrs,
GridKernalContext ctx,
boolean fullSup,
+ boolean internal,
UUID subjId) {
assert taskNodeId != null;
assert taskName != null;
@@ -166,6 +171,7 @@ public class GridTaskSessionImpl implements GridTaskSessionInternal {
}
this.fullSup = fullSup;
+ this.internal = internal;
this.subjId = subjId;
mapFut = new IgniteFutureImpl(new GridFutureAdapter());
@@ -860,8 +866,15 @@ public class GridTaskSessionImpl implements GridTaskSessionInternal {
return mapFut;
}
+ /**
+ * @return {@code True} if task is internal.
+ */
+ public boolean isInternal() {
+ return internal;
+ }
+
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(GridTaskSessionImpl.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index b54c17d..4f64da2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -93,6 +93,7 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMultic
import org.apache.ignite.spi.eventstorage.memory.MemoryEventStorageSpi;
import org.apache.ignite.spi.failover.always.AlwaysFailoverSpi;
import org.apache.ignite.spi.indexing.noop.NoopIndexingSpi;
+import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
import org.apache.ignite.spi.loadbalancing.roundrobin.RoundRobinLoadBalancingSpi;
import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
import org.apache.ignite.spi.swapspace.noop.NoopSwapSpaceSpi;
@@ -2052,6 +2053,27 @@ public class IgnitionEx {
if (cfg.getLoadBalancingSpi() == null)
cfg.setLoadBalancingSpi(new RoundRobinLoadBalancingSpi());
+ else {
+ Collection<LoadBalancingSpi> spis = new ArrayList<>();
+
+ boolean dfltLoadBalancingSpi = false;
+
+ for (LoadBalancingSpi spi : cfg.getLoadBalancingSpi()) {
+ spis.add(spi);
+
+ if (spi instanceof RoundRobinLoadBalancingSpi) {
+ dfltLoadBalancingSpi = true;
+
+ break;
+ }
+ }
+
+ // Add default load balancing SPI for internal tasks.
+ if (!dfltLoadBalancingSpi)
+ spis.add(new RoundRobinLoadBalancingSpi());
+
+ cfg.setLoadBalancingSpi(spis.toArray(new LoadBalancingSpi[spis.size()]));
+ }
if (cfg.getIndexingSpi() == null)
cfg.setIndexingSpi(new NoopIndexingSpi());
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
index 631168b..15a4d2c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/loadbalancer/GridLoadBalancerManager.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.managers.GridManagerAdapter;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.A;
import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
+import org.apache.ignite.spi.loadbalancing.roundrobin.RoundRobinLoadBalancingSpi;
import org.jetbrains.annotations.Nullable;
/**
@@ -72,7 +73,12 @@ public class GridLoadBalancerManager extends GridManagerAdapter<LoadBalancingSpi
assert top != null;
assert job != null;
- return getSpi(ses.getLoadBalancingSpi()).getBalancedNode(ses, top, job);
+ LoadBalancingSpi spi = getSpi(ses.getLoadBalancingSpi());
+
+ if (ses.isInternal() && !(spi instanceof RoundRobinLoadBalancingSpi))
+ return getSpi(RoundRobinLoadBalancingSpi.class.getSimpleName()).getBalancedNode(ses, top, job);
+
+ return spi.getBalancedNode(ses, top, job);
}
/**
@@ -102,4 +108,4 @@ public class GridLoadBalancerManager extends GridManagerAdapter<LoadBalancingSpi
}
};
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
index 6a162d3..563a3d8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
@@ -1057,6 +1057,7 @@ public class GridJobProcessor extends GridProcessorAdapter {
siblings,
sesAttrs,
req.isSessionFullSupport(),
+ req.isInternal(),
req.getSubjectId());
taskSes.setCheckpointSpi(req.getCheckpointSpi());
@@ -2034,4 +2035,4 @@ public class GridJobProcessor extends GridProcessorAdapter {
return sizex();
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
index 2ac39c9..d660948 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/session/GridTaskSessionProcessor.java
@@ -73,8 +73,8 @@ public class GridTaskSessionProcessor extends GridProcessorAdapter {
* @param endTime Execution end time.
* @param siblings Collection of siblings.
* @param attrs Map of attributes.
- * @param fullSup {@code True} to enable distributed session attributes
- * and checkpoints.
+ * @param fullSup {@code True} to enable distributed session attributes and checkpoints.
+ * @param internal {@code True} in case of internal task.
* @param subjId Subject ID.
* @return New session if one did not exist, or existing one.
*/
@@ -90,6 +90,7 @@ public class GridTaskSessionProcessor extends GridProcessorAdapter {
Collection<ComputeJobSibling> siblings,
Map<Object, Object> attrs,
boolean fullSup,
+ boolean internal,
UUID subjId) {
if (!fullSup) {
return new GridTaskSessionImpl(
@@ -105,6 +106,7 @@ public class GridTaskSessionProcessor extends GridProcessorAdapter {
attrs,
ctx,
false,
+ internal,
subjId);
}
@@ -127,6 +129,7 @@ public class GridTaskSessionProcessor extends GridProcessorAdapter {
attrs,
ctx,
true,
+ internal,
subjId));
if (old != null)
@@ -177,4 +180,4 @@ public class GridTaskSessionProcessor extends GridProcessorAdapter {
X.println(">>> Task session processor memory stats [grid=" + ctx.gridName() + ']');
X.println(">>> sesMapSize: " + sesMap.size());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
index f54277c..6d97229 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
@@ -621,6 +621,7 @@ public class GridTaskProcessor extends GridProcessorAdapter {
Collections.<ComputeJobSibling>emptyList(),
Collections.emptyMap(),
fullSup,
+ dep != null && dep.internalTask(task, taskCls),
subjId);
ComputeTaskInternalFuture<R> fut = new ComputeTaskInternalFuture<>(ses, ctx);
@@ -1367,4 +1368,4 @@ public class GridTaskProcessor extends GridProcessorAdapter {
}
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
index 79d1a2c..452e48c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
@@ -490,7 +490,7 @@ class GridTaskWorker<T, R> extends GridWorker implements GridTimeoutObject {
}
}
- internal = dep.internalTask(task, taskCls);
+ internal = ses.isInternal();
recordTaskEvent(EVT_TASK_STARTED, "Task started.");
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java
new file mode 100644
index 0000000..da1a4e5
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.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.spi.loadbalancing.internal;
+
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.compute.ComputeJob;
+import org.apache.ignite.compute.ComputeJobAdapter;
+import org.apache.ignite.compute.ComputeJobResult;
+import org.apache.ignite.compute.ComputeTaskSession;
+import org.apache.ignite.compute.ComputeTaskSplitAdapter;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.lang.GridTuple3;
+import org.apache.ignite.internal.visor.VisorTaskArgument;
+import org.apache.ignite.internal.visor.node.VisorNodePingTask;
+import org.apache.ignite.spi.IgniteSpiAdapter;
+import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
+import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+import org.jetbrains.annotations.Nullable;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * Test that will start two nodes with custom load balancing SPI and execute {@link GridInternal} task on it.
+ */
+public class GridInternalTasksLoadBalancingSelfTest extends GridCommonAbstractTest {
+ /** Grid count. */
+ private static final int GRID_CNT = 2;
+
+ /** Expected job result. */
+ private static final String JOB_RESULT = "EXPECTED JOB RESULT";
+
+ /** Expected task result. */
+ private static final String TASK_RESULT = JOB_RESULT + JOB_RESULT;
+
+ /** */
+ private static Ignite ignite;
+
+ /** If {@code true} then special custom load balancer SPI will be used. */
+ private static boolean customLoadBalancer = true;
+
+ /** {@inheritDoc} */
+ @Override protected void afterTest() throws Exception {
+ stopAllGrids();
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ if (customLoadBalancer)
+ cfg.setLoadBalancingSpi(new CustomLoadBalancerSpi());
+
+ return cfg;
+ }
+
+ /**
+ * This test execute internal tasks over grid with custom balancer.
+ *
+ * @throws Exception In case of error.
+ */
+ public void testInternalTaskBalancing() throws Exception {
+ customLoadBalancer = true;
+
+ ignite = startGrids(GRID_CNT);
+
+ // Task with GridInternal should pass.
+ assertEquals(TASK_RESULT, ignite.compute().execute(GridInternalTestTask.class.getName(), null));
+
+ // Visor task should pass.
+ UUID nid = ignite.cluster().localNode().id();
+
+ GridTuple3<Boolean, Long, Long> ping = ignite.compute()
+ .execute(VisorNodePingTask.class.getName(), new VisorTaskArgument<>(nid, nid, false));
+
+ assertTrue(ping.get1());
+
+ // Custom task should fail, because special test load balancer SPI returns null as balanced node.
+ try {
+ ignite.compute().execute(CustomTestTask.class.getName(), null);
+ }
+ catch (IgniteException e) {
+ assertTrue(e.getMessage().startsWith("Node can not be null [mappedJob=org.apache.ignite.spi.loadbalancing.internal.GridInternalTasksLoadBalancingSelfTest$CustomTestJob"));
+ }
+ }
+
+ /**
+ * This test execute internal tasks over grid with default balancer.
+ *
+ * @throws Exception In case of error.
+ */
+ public void testInternalTaskDefaultBalancing() throws Exception {
+ customLoadBalancer = false;
+
+ ignite = startGrids(GRID_CNT);
+
+ // Task with GridInternal should pass.
+ assertEquals(TASK_RESULT, ignite.compute().execute(GridInternalTestTask.class.getName(), null));
+
+ // Visor task should pass.
+ UUID nid = ignite.cluster().localNode().id();
+
+ GridTuple3<Boolean, Long, Long> ping = ignite.compute()
+ .execute(VisorNodePingTask.class.getName(), new VisorTaskArgument<>(nid, nid, false));
+
+ assertTrue(ping.get1());
+
+ // Custom task should pass.
+ assertEquals(TASK_RESULT, ignite.compute().execute(CustomTestTask.class.getName(), null));
+ }
+
+ /**
+ * Test task.
+ */
+ private static class CustomTestTask extends ComputeTaskSplitAdapter<Object, Object> {
+ /** {@inheritDoc} */
+ @Override protected Collection<? extends ComputeJob> split(int gridSize, Object arg) {
+ Collection<ComputeJob> jobs = new ArrayList<>(gridSize);
+
+ for (int i = 0; i < gridSize; i++)
+ jobs.add(new CustomTestJob());
+
+ return jobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Serializable reduce(List<ComputeJobResult> results) {
+ assert results != null;
+
+ String res = "";
+
+ for (ComputeJobResult jobRes : results)
+ res += jobRes.getData();
+
+ return res;
+ }
+ }
+
+ /**
+ * Test job.
+ */
+ private static class CustomTestJob extends ComputeJobAdapter {
+ /** {@inheritDoc} */
+ @Override public String execute() {
+ return JOB_RESULT;
+ }
+ }
+
+
+ /**
+ * Test task marked with @GridInternal.
+ */
+ @GridInternal
+ private static class GridInternalTestTask extends CustomTestTask{
+
+ }
+
+ /**
+ * Special test balancer that will do not any balancing.
+ */
+ @IgniteSpiMultipleInstancesSupport(true)
+ private static class CustomLoadBalancerSpi extends IgniteSpiAdapter implements LoadBalancingSpi {
+ /** {@inheritDoc} */
+ @Override public void spiStart(@Nullable String gridName) throws IgniteSpiException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public void spiStop() throws IgniteSpiException {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterNode getBalancedNode(ComputeTaskSession ses, List<ClusterNode> top, ComputeJob job) throws IgniteException {
+ return null; // Intentionally return null.
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/89c30c8b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiLoadBalancingSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiLoadBalancingSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiLoadBalancingSelfTestSuite.java
index a20b3c8..52d4fdd 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiLoadBalancingSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiLoadBalancingSelfTestSuite.java
@@ -23,6 +23,7 @@ import org.apache.ignite.spi.loadbalancing.adaptive.GridAdaptiveLoadBalancingSpi
import org.apache.ignite.spi.loadbalancing.adaptive.GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest;
import org.apache.ignite.spi.loadbalancing.adaptive.GridAdaptiveLoadBalancingSpiSelfTest;
import org.apache.ignite.spi.loadbalancing.adaptive.GridAdaptiveLoadBalancingSpiStartStopSelfTest;
+import org.apache.ignite.spi.loadbalancing.internal.GridInternalTasksLoadBalancingSelfTest;
import org.apache.ignite.spi.loadbalancing.roundrobin.GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest;
import org.apache.ignite.spi.loadbalancing.roundrobin.GridRoundRobinLoadBalancingSpiLocalNodeSelfTest;
import org.apache.ignite.spi.loadbalancing.roundrobin.GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest;
@@ -52,25 +53,28 @@ public final class IgniteSpiLoadBalancingSelfTestSuite {
TestSuite suite = new TestSuite("Ignite Load Balancing Test Suite");
// Random.
- suite.addTest(new TestSuite(GridWeightedRandomLoadBalancingSpiSelfTest.class));
- suite.addTest(new TestSuite(GridWeightedRandomLoadBalancingSpiWeightedSelfTest.class));
- suite.addTest(new TestSuite(GridWeightedRandomLoadBalancingSpiStartStopSelfTest.class));
- suite.addTest(new TestSuite(GridWeightedRandomLoadBalancingSpiConfigSelfTest.class));
+ suite.addTestSuite(GridWeightedRandomLoadBalancingSpiSelfTest.class);
+ suite.addTestSuite(GridWeightedRandomLoadBalancingSpiWeightedSelfTest.class);
+ suite.addTestSuite(GridWeightedRandomLoadBalancingSpiStartStopSelfTest.class);
+ suite.addTestSuite(GridWeightedRandomLoadBalancingSpiConfigSelfTest.class);
// Round-robin.
- suite.addTest(new TestSuite(GridRoundRobinLoadBalancingSpiLocalNodeSelfTest.class));
- suite.addTest(new TestSuite(GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.class));
- suite.addTest(new TestSuite(GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.class));
- suite.addTest(new TestSuite(GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.class));
- suite.addTest(new TestSuite(GridRoundRobinLoadBalancingSpiStartStopSelfTest.class));
- suite.addTest(new TestSuite(GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest.class));
+ suite.addTestSuite(GridRoundRobinLoadBalancingSpiLocalNodeSelfTest.class);
+ suite.addTestSuite(GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.class);
+ suite.addTestSuite(GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.class);
+ suite.addTestSuite(GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.class);
+ suite.addTestSuite(GridRoundRobinLoadBalancingSpiStartStopSelfTest.class);
+ suite.addTestSuite(GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest.class);
// Adaptive.
- suite.addTest(new TestSuite(GridAdaptiveLoadBalancingSpiSelfTest.class));
- suite.addTest(new TestSuite(GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest.class));
- suite.addTest(new TestSuite(GridAdaptiveLoadBalancingSpiStartStopSelfTest.class));
- suite.addTest(new TestSuite(GridAdaptiveLoadBalancingSpiConfigSelfTest.class));
+ suite.addTestSuite(GridAdaptiveLoadBalancingSpiSelfTest.class);
+ suite.addTestSuite(GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest.class);
+ suite.addTestSuite(GridAdaptiveLoadBalancingSpiStartStopSelfTest.class);
+ suite.addTestSuite(GridAdaptiveLoadBalancingSpiConfigSelfTest.class);
+
+ // Load balancing for internal tasks.
+ suite.addTestSuite(GridInternalTasksLoadBalancingSelfTest.class);
return suite;
}
-}
\ No newline at end of file
+}