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 2014/12/05 15:22:41 UTC

[05/20] incubator-ignite git commit: # Renaming

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java
new file mode 100644
index 0000000..232db9e
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java
@@ -0,0 +1,126 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.roundrobin;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.compute.*;
+import org.apache.ignite.events.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.*;
+import org.gridgain.testframework.*;
+import org.gridgain.testframework.junits.spi.*;
+
+import java.util.*;
+
+import static org.apache.ignite.events.IgniteEventType.*;
+
+/**
+ * Tests round robin load balancing SPI.
+ */
+@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI")
+public class GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest
+    extends GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
+    /** {@inheritDoc} */
+    @Override protected void spiConfigure(RoundRobinLoadBalancingSpi spi) throws Exception {
+        super.spiConfigure(spi);
+
+        spi.setPerTask(true);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridSpiTestContext initSpiContext() throws Exception {
+        GridSpiTestContext spiCtx = super.initSpiContext();
+
+        spiCtx.createLocalNode();
+        spiCtx.createRemoteNodes(10);
+
+        return spiCtx;
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    @SuppressWarnings({"ObjectEquality"})
+    public void testMultipleNodes() throws Exception {
+        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
+
+        ComputeTaskSession ses = new GridTestTaskSession(IgniteUuid.randomUuid());
+
+        // Initialize.
+        getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
+
+        List<UUID> orderedNodes = new ArrayList<>(getSpi().getNodeIds(ses));
+
+        // Check the round-robin actually did circle.
+        for (int i = 0; i < allNodes.size(); i++) {
+            ClusterNode node = getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
+
+            assert orderedNodes.get(i) == node.id();
+        }
+
+        // Double-check.
+        for (int i = 0; i < allNodes.size(); i++) {
+            ClusterNode node = getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
+
+            assert orderedNodes.get(i) == node.id();
+        }
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    @SuppressWarnings({"ObjectEquality"})
+    public void testMultipleTasks() throws Exception {
+        ComputeTaskSession ses1 = new GridTestTaskSession(IgniteUuid.randomUuid());
+        ComputeTaskSession ses2 = new GridTestTaskSession(IgniteUuid.randomUuid());
+
+        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
+
+        // Initialize.
+        getSpi().getBalancedNode(ses1, allNodes, new GridTestJob());
+        getSpi().getBalancedNode(ses2, allNodes, new GridTestJob());
+
+        List<UUID> orderedNodes1 = getSpi().getNodeIds(ses1);
+        List<UUID> orderedNodes2 = getSpi().getNodeIds(ses2);
+
+        assert orderedNodes1 != orderedNodes2;
+
+        // Check the round-robin actually did circle.
+        for (int i = 0; i < allNodes.size(); i++) {
+            ClusterNode node1 = getSpi().getBalancedNode(ses1, allNodes, new GridTestJob());
+
+            assert orderedNodes1.get(i) == node1.id();
+
+            ClusterNode node2 = getSpi().getBalancedNode(ses2, allNodes, new GridTestJob());
+
+            assert orderedNodes2.get(i) == node2.id();
+
+            assert orderedNodes1.get(i) == orderedNodes2.get(i);
+        }
+
+        // Double-check.
+        for (int i = 0; i < allNodes.size(); i++) {
+            ClusterNode node1 = getSpi().getBalancedNode(ses1, allNodes, new GridTestJob());
+
+            assert orderedNodes1.get(i) == node1.id();
+
+            ClusterNode node2 = getSpi().getBalancedNode(ses2, allNodes, new GridTestJob());
+
+            assert orderedNodes2.get(i) == node2.id();
+
+            assert orderedNodes1.get(i) == orderedNodes2.get(i);
+        }
+
+        getSpiContext().triggerEvent(new IgniteTaskEvent(
+            null, null, EVT_TASK_FINISHED, ses1.getId(), null, null, false, null));
+        getSpiContext().triggerEvent(new IgniteTaskEvent(
+            null, null, EVT_TASK_FAILED, ses2.getId(), null, null, false, null));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java
new file mode 100644
index 0000000..a46b75f
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java
@@ -0,0 +1,121 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.roundrobin;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.compute.*;
+import org.apache.ignite.events.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.*;
+import org.gridgain.testframework.*;
+import org.gridgain.testframework.junits.spi.*;
+
+import java.util.*;
+
+import static org.apache.ignite.events.IgniteEventType.*;
+import static org.apache.ignite.spi.loadbalancing.roundrobin.GridRoundRobinTestUtils.*;
+
+/**
+ * Tests round robin load balancing.
+ */
+@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI")
+public class GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest
+    extends GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
+    /**
+     * @return Per-task configuration parameter.
+     */
+    @GridSpiTestConfig
+    public boolean getPerTask() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridSpiTestContext initSpiContext() throws Exception {
+        GridSpiTestContext spiCtx = super.initSpiContext();
+
+        spiCtx.createLocalNode();
+        spiCtx.createRemoteNodes(10);
+
+        return spiCtx;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        assert !getSpi().isPerTask() : "Invalid SPI configuration.";
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    public void testMultipleNodes() throws Exception {
+        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
+
+        ComputeTaskSession ses = new GridTestTaskSession();
+
+        List<UUID> orderedNodes = new ArrayList<>(getSpi().getNodeIds(ses));
+
+        assertEquals("Balancer doesn't use all available nodes", orderedNodes.size(), allNodes.size());
+
+        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    public void testMultipleTaskSessions() throws Exception {
+        ComputeTaskSession ses1 = new GridTestTaskSession(IgniteUuid.randomUuid());
+        ComputeTaskSession ses2 = new GridTestTaskSession(IgniteUuid.randomUuid());
+
+        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
+
+        List<UUID> orderedNodes = getSpi().getNodeIds(ses1);
+
+        assertEquals("Balancer doesn't use all available nodes", orderedNodes.size(), allNodes.size());
+
+        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses1, ses2);
+
+        getSpiContext().triggerEvent(new IgniteTaskEvent(
+            null, null, EVT_TASK_FINISHED, ses1.getId(), null, null, false, null));
+        getSpiContext().triggerEvent(new IgniteTaskEvent(
+            null, null, EVT_TASK_FAILED, ses2.getId(), null, null, false, null));
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    public void testBalancingOneNode() throws Exception {
+        ComputeTaskSession ses = new GridTestTaskSession();
+
+        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
+
+        List<ClusterNode> balancedNode = Arrays.asList(allNodes.get(0));
+
+        ClusterNode firstNode = getSpi().getBalancedNode(ses, balancedNode, new GridTestJob());
+        ClusterNode secondNode = getSpi().getBalancedNode(ses, balancedNode, new GridTestJob());
+
+        assertEquals(firstNode, secondNode);
+    }
+
+    /** */
+    public void testNodeNotInTopology() {
+        ComputeTaskSession ses = new GridTestTaskSession();
+
+        ClusterNode node = new GridTestNode(UUID.randomUUID());
+
+        List<ClusterNode> notInTop = Arrays.asList(node);
+
+        try {
+            getSpi().getBalancedNode(ses, notInTop, new GridTestJob());
+        }
+        catch (GridException e) {
+            assertTrue(e.getMessage().contains("Task topology does not have alive nodes"));
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java
new file mode 100644
index 0000000..6aa1c92
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java
@@ -0,0 +1,23 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.roundrobin;
+
+import org.gridgain.grid.spi.*;
+import org.gridgain.testframework.junits.spi.*;
+
+/**
+ * Tests correct start of {@link RoundRobinLoadBalancingSpi}.
+ */
+@SuppressWarnings({"JUnitTestCaseWithNoTests"})
+@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "LoadBalancing SPI")
+public class GridRoundRobinLoadBalancingSpiStartStopSelfTest
+    extends GridSpiStartStopAbstractTest<RoundRobinLoadBalancingSpi> {
+    // No configs.
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java
new file mode 100644
index 0000000..3a148ed
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java
@@ -0,0 +1,98 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.roundrobin;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.compute.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.*;
+import org.gridgain.testframework.*;
+import org.gridgain.testframework.junits.spi.*;
+
+import java.util.*;
+
+import static org.apache.ignite.spi.loadbalancing.roundrobin.GridRoundRobinTestUtils.*;
+
+/**
+ * Tests round robin load balancing with topology changes.
+ */
+@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI")
+public class GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest
+    extends GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
+    /**
+     * @return Per-task configuration parameter.
+     */
+    @GridSpiTestConfig
+    public boolean getPerTask() { return false; }
+
+    /** {@inheritDoc} */
+    @Override protected GridSpiTestContext initSpiContext() throws Exception {
+        GridSpiTestContext spiCtx = super.initSpiContext();
+
+        spiCtx.createLocalNode();
+        spiCtx.createRemoteNodes(10);
+
+        return spiCtx;
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTopologyChange() throws Exception {
+        ComputeTaskSession ses = new GridTestTaskSession(IgniteUuid.randomUuid());
+
+        // Warm up.
+        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
+
+        List<UUID> orderedNodes = getSpi().getNodeIds(ses);
+
+        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
+
+        // Remove node.
+        UUID doomed = orderedNodes.get(0);
+
+        if (getSpiContext().localNode().id().equals(doomed))
+            doomed = orderedNodes.get(1);
+
+        getSpiContext().removeNode(doomed);
+
+        assertTrue(allNodes.remove(new GridTestNode(doomed)));
+
+        orderedNodes = getSpi().getNodeIds(ses);
+
+        assertFalse("Balancer uses removed node", orderedNodes.contains(doomed));
+
+        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
+
+        // Add node.
+        ClusterNode newNode = new GridTestNode(UUID.randomUUID());
+
+        getSpiContext().addNode(newNode);
+
+        assertTrue(allNodes.add(newNode));
+
+        // Check that new node was added to balancing.
+        boolean foundNewNode = false;
+
+        for (int i = 0; i < allNodes.size(); i++) {
+            ClusterNode node = getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
+            if (newNode.id().equals(node.id())) {
+                foundNewNode = true;
+                break;
+            }
+        }
+
+        assertTrue("Balancer doesn't use added node", foundNewNode);
+
+        orderedNodes = getSpi().getNodeIds(ses);
+
+        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java
new file mode 100644
index 0000000..fc3fbc4
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java
@@ -0,0 +1,95 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.roundrobin;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.compute.*;
+import org.gridgain.grid.*;
+
+import java.util.*;
+
+import static org.junit.Assert.*;
+
+/**
+ * Helper class for balancer tests.
+ */
+class GridRoundRobinTestUtils {
+    /**
+     * Performs two full cycles by round robin routine for check correct order.
+     *
+     * @param spi Load balancing SPI.
+     * @param allNodes Topology nodes.
+     * @param orderedNodes Balancing nodes.
+     * @param ses Task session.
+     * @throws GridException If balancer failed.
+     */
+    static void checkCyclicBalancing(RoundRobinLoadBalancingSpi spi, List<ClusterNode> allNodes,
+        List<UUID> orderedNodes, ComputeTaskSession ses) throws GridException {
+
+        ClusterNode firstNode = spi.getBalancedNode(ses, allNodes, new GridTestJob());
+
+        int startIdx = firstBalancedNodeIndex(firstNode, orderedNodes);
+
+        // Two full cycles by round robin routine.
+        for (int i = 0; i < allNodes.size() * 2; i++) {
+            int actualIdx = (startIdx + i + 1) % allNodes.size();
+
+            ClusterNode nextNode = spi.getBalancedNode(ses, allNodes, new GridTestJob());
+
+            assertEquals("Balancer returns node out of order", nextNode.id(), orderedNodes.get(actualIdx));
+        }
+    }
+
+    /**
+     * Performs two full cycles by round robin routine for check correct order.
+     * Switches between two task sessions by turns.
+     *
+     * @param spi Load balancing SPI.
+     * @param allNodes Topology nodes.
+     * @param orderedNodes Balancing nodes.
+     * @param ses1 First task session.
+     * @param ses2 Second task session.
+     * @throws GridException If balancer failed.
+     */
+    static void checkCyclicBalancing(RoundRobinLoadBalancingSpi spi, List<ClusterNode> allNodes,
+        List<UUID> orderedNodes, ComputeTaskSession ses1, ComputeTaskSession ses2) throws GridException {
+
+        ClusterNode firstNode = spi.getBalancedNode(ses1, allNodes, new GridTestJob());
+
+        int startIdx = firstBalancedNodeIndex(firstNode, orderedNodes);
+
+        // Two full cycles by round robin routine.
+        for (int i = 0; i < allNodes.size() * 2; i++) {
+            int actualIdx = (startIdx + i + 1) % allNodes.size();
+
+            ClusterNode nextNode = spi.getBalancedNode(i % 2 == 0 ? ses1 : ses2, allNodes, new GridTestJob());
+
+            assertEquals("Balancer returns node out of order", nextNode.id(), orderedNodes.get(actualIdx));
+        }
+    }
+
+    /**
+     * @param firstNode First node which was return by balancer.
+     * @param orderedNodes Balancing nodes.
+     * @return Index of first node which was return by balancer.
+     */
+    static int firstBalancedNodeIndex(ClusterNode firstNode, List<UUID> orderedNodes) {
+        int startIdx = -1;
+
+        for (int i = 0; i < orderedNodes.size(); i++) {
+            if (firstNode.id() == orderedNodes.get(i))
+                startIdx = i;
+        }
+
+        assertTrue("Can't find position of first balanced node", startIdx >= 0);
+
+        return startIdx;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/package.html
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/package.html b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/package.html
new file mode 100644
index 0000000..5cad80a
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/roundrobin/package.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+    @html.file.header
+    _________        _____ __________________        _____
+    __  ____/___________(_)______  /__  ____/______ ____(_)_______
+    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+-->
+<html>
+<body>
+    <!-- Package description. -->
+    Contains internal tests or test related classes and interfaces.
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java
new file mode 100644
index 0000000..ec55882
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java
@@ -0,0 +1,26 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.weightedrandom;
+
+import org.gridgain.testframework.junits.spi.*;
+
+/**
+ *
+ */
+@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "Load Balancing SPI")
+public class GridWeightedRandomLoadBalancingSpiConfigSelfTest extends
+    GridSpiAbstractConfigTest<WeightedRandomLoadBalancingSpi> {
+    /**
+     * @throws Exception If failed.
+     */
+    public void testNegativeConfig() throws Exception {
+        checkNegativeSpiProperty(new WeightedRandomLoadBalancingSpi(), "nodeWeight", 0);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java
new file mode 100644
index 0000000..3658582
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java
@@ -0,0 +1,58 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.weightedrandom;
+
+import org.apache.ignite.cluster.*;
+import org.gridgain.grid.*;
+import org.gridgain.testframework.*;
+import org.gridgain.testframework.junits.spi.*;
+import java.util.*;
+
+/**
+ * Weighted random load balancing SPI.
+ */
+@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "Load Balancing SPI")
+public class GridWeightedRandomLoadBalancingSpiSelfTest extends
+    GridSpiAbstractTest<WeightedRandomLoadBalancingSpi> {
+    /**
+     * @throws Exception If failed.
+     */
+    @SuppressWarnings({"ObjectEquality"})
+    public void testSingleNode() throws Exception {
+        List<ClusterNode> nodes = Collections.singletonList((ClusterNode)new GridTestNode(UUID.randomUUID()));
+
+        ClusterNode node = getSpi().getBalancedNode(new GridTestTaskSession(), nodes, new GridTestJob());
+
+        assert nodes.contains(node);
+
+        // Verify that same instance is returned every time.
+        ClusterNode balancedNode = getSpi().getBalancedNode(new GridTestTaskSession(), nodes, new GridTestJob());
+
+        assert node == balancedNode;
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testMultipleNodes() throws Exception {
+        List<ClusterNode> nodes = new ArrayList<>();
+
+        for (int i = 0; i < 10; i++)
+            nodes.add(new GridTestNode(UUID.randomUUID()));
+
+        // Seal it.
+        nodes = Collections.unmodifiableList(nodes);
+
+        ClusterNode node = getSpi().getBalancedNode(new GridTestTaskSession(), nodes, new GridTestJob());
+
+        assert node != null;
+        assert nodes.contains(node);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java
new file mode 100644
index 0000000..c05a33e
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java
@@ -0,0 +1,23 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.weightedrandom;
+
+import org.gridgain.grid.spi.*;
+import org.gridgain.testframework.junits.spi.*;
+
+/**
+ * Wighted random load balancing SPI start-stop test.
+ */
+@SuppressWarnings({"JUnitTestCaseWithNoTests"})
+@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "LoadBalancing SPI")
+public class GridWeightedRandomLoadBalancingSpiStartStopSelfTest extends
+    GridSpiStartStopAbstractTest<WeightedRandomLoadBalancingSpi> {
+    // No configs.
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java
new file mode 100644
index 0000000..835c163
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java
@@ -0,0 +1,73 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.spi.loadbalancing.weightedrandom;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.gridgain.testframework.*;
+import org.gridgain.testframework.junits.spi.*;
+import java.util.*;
+
+import static org.apache.ignite.spi.loadbalancing.weightedrandom.WeightedRandomLoadBalancingSpi.*;
+
+/**
+ * {@link WeightedRandomLoadBalancingSpi} self test.
+ */
+@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "Load Balancing SPI")
+public class GridWeightedRandomLoadBalancingSpiWeightedSelfTest
+    extends GridSpiAbstractTest<WeightedRandomLoadBalancingSpi> {
+    /**
+     * @return {@code True} if node weights should be considered.
+     */
+    @GridSpiTestConfig
+    public boolean getUseWeights() {
+        return true;
+    }
+
+    /**
+     * @throws Exception If test failed.
+     */
+    public void testWeights() throws Exception {
+        List<ClusterNode> nodes = new ArrayList<>();
+
+        for (int i = 0; i < 10; i++) {
+            GridTestNode node = new GridTestNode(UUID.randomUUID());
+
+            node.addAttribute(U.spiAttribute(getSpi(), NODE_WEIGHT_ATTR_NAME), i + 1);
+
+            nodes.add(node);
+        }
+
+        // Seal it.
+        nodes = Collections.unmodifiableList(nodes);
+
+        int[] cnts = new int[10];
+
+        // Invoke load balancer a large number of times, so statistics won't lie.
+        for (int i = 0; i < 100000; i++) {
+            ClusterNode node = getSpi().getBalancedNode(new GridTestTaskSession(IgniteUuid.randomUuid()), nodes,
+                new GridTestJob());
+
+            int weight = (Integer)node.attribute(U.spiAttribute(getSpi(), NODE_WEIGHT_ATTR_NAME));
+
+            // Increment number of times a node was picked.
+            cnts[weight - 1]++;
+        }
+
+        for (int i = 0; i < cnts.length - 1; i++) {
+            assert cnts[i] < cnts[i + 1] : "Invalid node counts for index [idx=" + i + ", cnts[i]=" + cnts[i] +
+                ", cnts[i+1]=" + cnts[i + 1] + ']';
+        }
+
+        info("Node counts: " + Arrays.toString(cnts));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/package.html
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/package.html b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/package.html
new file mode 100644
index 0000000..5cad80a
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/weightedrandom/package.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+    @html.file.header
+    _________        _____ __________________        _____
+    __  ____/___________(_)______  /__  ____/______ ____(_)_______
+    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+-->
+<html>
+<body>
+    <!-- Package description. -->
+    Contains internal tests or test related classes and interfaces.
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/kernal/GridMultipleSpisSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/GridMultipleSpisSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/GridMultipleSpisSelfTest.java
index ba5e3b0..3585fc5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/GridMultipleSpisSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/GridMultipleSpisSelfTest.java
@@ -19,7 +19,7 @@ import org.gridgain.grid.*;
 import org.apache.ignite.spi.checkpoint.sharedfs.*;
 import org.apache.ignite.spi.failover.*;
 import org.apache.ignite.spi.failover.always.*;
-import org.gridgain.grid.spi.loadbalancing.roundrobin.*;
+import org.apache.ignite.spi.loadbalancing.roundrobin.*;
 import org.gridgain.testframework.junits.common.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/kernal/managers/GridManagerStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/managers/GridManagerStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/managers/GridManagerStopSelfTest.java
index d682e4e..9209a34 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/managers/GridManagerStopSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/managers/GridManagerStopSelfTest.java
@@ -35,7 +35,7 @@ import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.eventstorage.*;
 import org.apache.ignite.spi.eventstorage.memory.*;
 import org.apache.ignite.spi.failover.always.*;
-import org.gridgain.grid.spi.loadbalancing.roundrobin.*;
+import org.apache.ignite.spi.loadbalancing.roundrobin.*;
 import org.gridgain.grid.spi.swapspace.*;
 import org.gridgain.grid.spi.swapspace.file.*;
 import org.gridgain.testframework.junits.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiConfigSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiConfigSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiConfigSelfTest.java
deleted file mode 100644
index 8e080e8..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiConfigSelfTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.adaptive;
-
-import org.gridgain.testframework.junits.spi.*;
-
-/**
- *
- */
-@GridSpiTest(spi = AdaptiveLoadBalancingSpi.class, group = "LoadBalancing SPI")
-public class GridAdaptiveLoadBalancingSpiConfigSelfTest
-    extends GridSpiAbstractConfigTest<AdaptiveLoadBalancingSpi> {
-    /**
-     * @throws Exception If failed.
-     */
-    public void testNegativeConfig() throws Exception {
-        checkNegativeSpiProperty(new AdaptiveLoadBalancingSpi(), "loadProbe", null);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest.java
deleted file mode 100644
index 33e1a18..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.adaptive;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-import java.util.*;
-
-/**
- * Tests adaptive load balancing SPI.
- */
-@GridSpiTest(spi = AdaptiveLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridAdaptiveLoadBalancingSpiMultipleNodeSelfTest extends GridSpiAbstractTest<AdaptiveLoadBalancingSpi> {
-    /** */
-    private static final int RMT_NODE_CNT = 10;
-
-    /** {@inheritDoc} */
-    @Override protected GridSpiTestContext initSpiContext() throws Exception {
-        GridSpiTestContext ctx = super.initSpiContext();
-
-        for (int i = 0; i < RMT_NODE_CNT; i++) {
-            GridTestNode node = new GridTestNode(UUID.randomUUID());
-
-            node.setAttribute("load", (double)(i + 1));
-
-            ctx.addNode(node);
-        }
-
-        return ctx;
-    }
-
-    /**
-     * @return {@code True} if node weights should be considered.
-     */
-    @GridSpiTestConfig
-    public AdaptiveLoadProbe getLoadProbe() {
-        return new AdaptiveLoadProbe() {
-            @Override public double getLoad(ClusterNode node, int jobsSentSinceLastUpdate) {
-                boolean isFirstTime = node.attribute("used") == null;
-
-                assert isFirstTime ? jobsSentSinceLastUpdate == 0 : jobsSentSinceLastUpdate > 0;
-
-                return (Double)node.attribute("load");
-            }
-        };
-    }
-    /**
-     * @throws Exception If failed.
-     */
-    public void testWeights() throws Exception {
-        // Seal it.
-        List<ClusterNode> nodes = new ArrayList<>(getSpiContext().remoteNodes());
-
-        int[] cnts = new int[RMT_NODE_CNT];
-
-        // Invoke load balancer a large number of times, so statistics won't lie.
-        for (int i = 0; i < 50000; i++) {
-            GridTestNode node = (GridTestNode)getSpi().getBalancedNode(new GridTestTaskSession(IgniteUuid.randomUuid()),
-                nodes, new GridTestJob());
-
-            int idx = ((Double)node.attribute("load")).intValue() - 1;
-
-            if (cnts[idx] == 0)
-                node.setAttribute("used", true);
-
-            // Increment number of times a node was picked.
-            cnts[idx]++;
-        }
-
-        info("Node counts: " + Arrays.toString(cnts));
-
-        for (int i = 0; i < cnts.length - 1; i++) {
-            assert cnts[i] > cnts[i + 1] : "Invalid node counts for index [idx=" + i + ", cnts[i]=" + cnts[i] +
-                ", cnts[i+1]=" + cnts[i + 1] + ']';
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiSelfTest.java
deleted file mode 100644
index 8a3a2c5..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiSelfTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.adaptive;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-
-import java.util.*;
-
-/**
- * Tests adaptive load balancing SPI.
- */
-@GridSpiTest(spi = AdaptiveLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridAdaptiveLoadBalancingSpiSelfTest extends GridSpiAbstractTest<AdaptiveLoadBalancingSpi> {
-    /** {@inheritDoc} */
-    @Override protected GridSpiTestContext initSpiContext() throws Exception {
-        GridSpiTestContext ctx = super.initSpiContext();
-
-        ctx.setLocalNode(new GridTestNode(UUID.randomUUID()));
-
-        return ctx;
-    }
-
-    /**
-     * @return {@code True} if node weights should be considered.
-     */
-    @GridSpiTestConfig
-    public AdaptiveLoadProbe getLoadProbe() {
-        return new AdaptiveLoadProbe() {
-            @Override public double getLoad(ClusterNode node, int jobsSentSinceLastUpdate) {
-                boolean isFirstTime = node.attribute("used") == null;
-
-                assert isFirstTime ? jobsSentSinceLastUpdate == 0 : jobsSentSinceLastUpdate > 0;
-
-                return (Double)node.attribute("load");
-            }
-        };
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings({"ObjectEquality"})
-    public void testSingleNodeZeroWeight() throws Exception {
-        GridTestNode node = (GridTestNode)getSpiContext().nodes().iterator().next();
-
-        node.addAttribute("load", 0d);
-
-        List<ClusterNode> nodes = Collections.singletonList((ClusterNode)node);
-
-        ComputeTaskSession ses = new GridTestTaskSession(IgniteUuid.randomUuid());
-
-        GridTestNode pick1 = (GridTestNode)getSpi().getBalancedNode(ses, nodes, new GridTestJob());
-
-        pick1.setAttribute("used", true);
-
-        assert nodes.contains(pick1);
-
-        // Verify that same instance is returned every time.
-        ClusterNode pick2 = getSpi().getBalancedNode(ses, nodes, new GridTestJob());
-
-        assert pick1 == pick2;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings({"ObjectEquality"})
-    public void testSingleNodeSameSession() throws Exception {
-        GridTestNode node = (GridTestNode)getSpiContext().nodes().iterator().next();
-
-        node.addAttribute("load", 1d);
-
-        List<ClusterNode> nodes = Collections.singletonList((ClusterNode)node);
-
-        ComputeTaskSession ses = new GridTestTaskSession(IgniteUuid.randomUuid());
-
-        GridTestNode pick1 = (GridTestNode)getSpi().getBalancedNode(ses, nodes, new GridTestJob());
-
-        pick1.setAttribute("used", true);
-
-        assert nodes.contains(pick1);
-
-        // Verify that same instance is returned every time.
-        ClusterNode pick2 = getSpi().getBalancedNode(ses, nodes, new GridTestJob());
-
-        assert pick1 == pick2;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings({"ObjectEquality"})
-    public void testSingleNodeDifferentSession() throws Exception {
-        GridTestNode node = (GridTestNode)getSpiContext().nodes().iterator().next();
-
-        node.addAttribute("load", 2d);
-
-        List<ClusterNode> nodes = Collections.singletonList((ClusterNode)node);
-
-        GridTestNode pick1 = (GridTestNode)getSpi().getBalancedNode(new GridTestTaskSession(IgniteUuid.randomUuid()),
-            nodes, new GridTestJob());
-
-        pick1.setAttribute("used", true);
-
-        assert nodes.contains(pick1);
-
-        // Verify that same instance is returned every time.
-        ClusterNode pick2 = getSpi().getBalancedNode(new GridTestTaskSession(IgniteUuid.randomUuid()), nodes,
-            new GridTestJob());
-
-        assert pick1 == pick2;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiStartStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiStartStopSelfTest.java
deleted file mode 100644
index 19876e7..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/GridAdaptiveLoadBalancingSpiStartStopSelfTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.adaptive;
-
-import org.gridgain.grid.spi.*;
-import org.gridgain.testframework.junits.spi.*;
-
-/**
- * Adaptive load balancing SPI start-stop test.
- */
-@SuppressWarnings({"JUnitTestCaseWithNoTests"})
-@GridSpiTest(spi = AdaptiveLoadBalancingSpi.class, group = "LoadBalancing SPI")
-public class GridAdaptiveLoadBalancingSpiStartStopSelfTest extends
-    GridSpiStartStopAbstractTest<AdaptiveLoadBalancingSpi> {
-    // No configs.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/package.html
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/package.html b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/package.html
deleted file mode 100644
index 5cad80a..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/adaptive/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-    @html.file.header
-    _________        _____ __________________        _____
-    __  ____/___________(_)______  /__  ____/______ ____(_)_______
-    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
-    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
-    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
--->
-<html>
-<body>
-    <!-- Package description. -->
-    Contains internal tests or test related classes and interfaces.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/package.html
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/package.html b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/package.html
deleted file mode 100644
index 5cad80a..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-    @html.file.header
-    _________        _____ __________________        _____
-    __  ____/___________(_)______  /__  ____/______ ____(_)_______
-    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
-    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
-    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
--->
-<html>
-<body>
-    <!-- Package description. -->
-    Contains internal tests or test related classes and interfaces.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest.java
deleted file mode 100644
index ff420e7..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.roundrobin;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-/**
- * Multithreaded tests for global load balancer.
- */
-@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridRoundRobinLoadBalancingNotPerTaskMultithreadedSelfTest
-    extends GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
-    /** Thread count. */
-    public static final int THREAD_CNT = 8;
-
-    /** Per-thread iteration count. */
-    public static final int ITER_CNT = 4_000_000;
-
-    /**
-     * @return Per-task configuration parameter.
-     */
-    @GridSpiTestConfig
-    public boolean getPerTask() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSpiTestContext initSpiContext() throws Exception {
-        GridSpiTestContext spiCtx = super.initSpiContext();
-
-        spiCtx.createLocalNode();
-        spiCtx.createRemoteNodes(10);
-
-        return spiCtx;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        assert !getSpi().isPerTask() : "Invalid SPI configuration.";
-    }
-
-    /**
-     *
-     * @throws Exception If failed.
-     */
-    public void testMultipleTaskSessionsMultithreaded() throws Exception {
-        final RoundRobinLoadBalancingSpi spi = getSpi();
-
-        final List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
-
-        GridTestUtils.runMultiThreaded(new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                ComputeTaskSession ses = new GridTestTaskSession(IgniteUuid.randomUuid());
-
-                Map<UUID, AtomicInteger> nodeCnts = new HashMap<>();
-
-                for (int i = 1; i <= ITER_CNT; i++) {
-                    ClusterNode node = spi.getBalancedNode(ses, allNodes, new GridTestJob());
-
-                    if (!nodeCnts.containsKey(node.id()))
-                        nodeCnts.put(node.id(), new AtomicInteger(1));
-                    else
-                        nodeCnts.get(node.id()).incrementAndGet();
-                }
-
-                int predictCnt = ITER_CNT / allNodes.size();
-
-                // Consider +-20% is permissible spread for single node measure.
-                int floor = (int)(predictCnt * 0.8);
-
-                double avgSpread = 0;
-
-                for (ClusterNode n : allNodes) {
-                    int curCnt = nodeCnts.get(n.id()).intValue();
-
-                    avgSpread += Math.abs(predictCnt - curCnt);
-
-                    String msg = "Node stats [id=" + n.id() + ", cnt=" + curCnt + ", floor=" + floor +
-                        ", predictCnt=" + predictCnt + ']';
-
-                    info(msg);
-
-                    assertTrue(msg, curCnt >= floor);
-                }
-
-                avgSpread /= allNodes.size();
-
-                avgSpread = 100.0 * avgSpread / predictCnt;
-
-                info("Average spread for " + allNodes.size() + " nodes is " + avgSpread + " percents");
-
-                // Consider +-10% is permissible average spread for all nodes.
-                assertTrue("Average spread is too big: " + avgSpread, avgSpread <= 10);
-
-                return null;
-            }
-        }, THREAD_CNT, "balancer-test-worker");
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiLocalNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiLocalNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiLocalNodeSelfTest.java
deleted file mode 100644
index ab992cf..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiLocalNodeSelfTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.roundrobin;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.junits.spi.*;
-import java.util.*;
-
-/**
- * Tests Round Robin load balancing for single node.
- */
-@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI", triggerDiscovery = true)
-public class GridRoundRobinLoadBalancingSpiLocalNodeSelfTest extends
-    GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings({"ObjectEquality"})
-    public void testLocalNode() throws Exception {
-        assert getDiscoverySpi().getRemoteNodes().isEmpty();
-
-        ClusterNode locNode = getDiscoverySpi().getLocalNode();
-
-        ClusterNode node = getSpi().getBalancedNode(new GridTestTaskSession(IgniteUuid.randomUuid()),
-            Collections.singletonList(locNode), new GridTestJob());
-
-        assert  node == locNode;
-
-        // Double check.
-        node = getSpi().getBalancedNode(new GridTestTaskSession(IgniteUuid.randomUuid()),
-            Collections.singletonList(locNode), new GridTestJob());
-
-        assert node == locNode;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java
deleted file mode 100644
index 0ab487f..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.roundrobin;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.events.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-
-import java.util.*;
-
-import static org.apache.ignite.events.IgniteEventType.*;
-
-/**
- * Tests round robin load balancing SPI.
- */
-@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridRoundRobinLoadBalancingSpiMultipleNodesSelfTest
-    extends GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
-    /** {@inheritDoc} */
-    @Override protected void spiConfigure(RoundRobinLoadBalancingSpi spi) throws Exception {
-        super.spiConfigure(spi);
-
-        spi.setPerTask(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSpiTestContext initSpiContext() throws Exception {
-        GridSpiTestContext spiCtx = super.initSpiContext();
-
-        spiCtx.createLocalNode();
-        spiCtx.createRemoteNodes(10);
-
-        return spiCtx;
-    }
-
-    /**
-     * @throws Exception If test failed.
-     */
-    @SuppressWarnings({"ObjectEquality"})
-    public void testMultipleNodes() throws Exception {
-        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
-
-        ComputeTaskSession ses = new GridTestTaskSession(IgniteUuid.randomUuid());
-
-        // Initialize.
-        getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
-
-        List<UUID> orderedNodes = new ArrayList<>(getSpi().getNodeIds(ses));
-
-        // Check the round-robin actually did circle.
-        for (int i = 0; i < allNodes.size(); i++) {
-            ClusterNode node = getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
-
-            assert orderedNodes.get(i) == node.id();
-        }
-
-        // Double-check.
-        for (int i = 0; i < allNodes.size(); i++) {
-            ClusterNode node = getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
-
-            assert orderedNodes.get(i) == node.id();
-        }
-    }
-
-    /**
-     * @throws Exception If test failed.
-     */
-    @SuppressWarnings({"ObjectEquality"})
-    public void testMultipleTasks() throws Exception {
-        ComputeTaskSession ses1 = new GridTestTaskSession(IgniteUuid.randomUuid());
-        ComputeTaskSession ses2 = new GridTestTaskSession(IgniteUuid.randomUuid());
-
-        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
-
-        // Initialize.
-        getSpi().getBalancedNode(ses1, allNodes, new GridTestJob());
-        getSpi().getBalancedNode(ses2, allNodes, new GridTestJob());
-
-        List<UUID> orderedNodes1 = getSpi().getNodeIds(ses1);
-        List<UUID> orderedNodes2 = getSpi().getNodeIds(ses2);
-
-        assert orderedNodes1 != orderedNodes2;
-
-        // Check the round-robin actually did circle.
-        for (int i = 0; i < allNodes.size(); i++) {
-            ClusterNode node1 = getSpi().getBalancedNode(ses1, allNodes, new GridTestJob());
-
-            assert orderedNodes1.get(i) == node1.id();
-
-            ClusterNode node2 = getSpi().getBalancedNode(ses2, allNodes, new GridTestJob());
-
-            assert orderedNodes2.get(i) == node2.id();
-
-            assert orderedNodes1.get(i) == orderedNodes2.get(i);
-        }
-
-        // Double-check.
-        for (int i = 0; i < allNodes.size(); i++) {
-            ClusterNode node1 = getSpi().getBalancedNode(ses1, allNodes, new GridTestJob());
-
-            assert orderedNodes1.get(i) == node1.id();
-
-            ClusterNode node2 = getSpi().getBalancedNode(ses2, allNodes, new GridTestJob());
-
-            assert orderedNodes2.get(i) == node2.id();
-
-            assert orderedNodes1.get(i) == orderedNodes2.get(i);
-        }
-
-        getSpiContext().triggerEvent(new IgniteTaskEvent(
-            null, null, EVT_TASK_FINISHED, ses1.getId(), null, null, false, null));
-        getSpiContext().triggerEvent(new IgniteTaskEvent(
-            null, null, EVT_TASK_FAILED, ses2.getId(), null, null, false, null));
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java
deleted file mode 100644
index 2d11283..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.roundrobin;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.events.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-
-import java.util.*;
-
-import static org.apache.ignite.events.IgniteEventType.*;
-import static org.gridgain.grid.spi.loadbalancing.roundrobin.GridRoundRobinTestUtils.*;
-
-/**
- * Tests round robin load balancing.
- */
-@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridRoundRobinLoadBalancingSpiNotPerTaskSelfTest
-    extends GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
-    /**
-     * @return Per-task configuration parameter.
-     */
-    @GridSpiTestConfig
-    public boolean getPerTask() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSpiTestContext initSpiContext() throws Exception {
-        GridSpiTestContext spiCtx = super.initSpiContext();
-
-        spiCtx.createLocalNode();
-        spiCtx.createRemoteNodes(10);
-
-        return spiCtx;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        assert !getSpi().isPerTask() : "Invalid SPI configuration.";
-    }
-
-    /**
-     * @throws Exception If test failed.
-     */
-    public void testMultipleNodes() throws Exception {
-        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
-
-        ComputeTaskSession ses = new GridTestTaskSession();
-
-        List<UUID> orderedNodes = new ArrayList<>(getSpi().getNodeIds(ses));
-
-        assertEquals("Balancer doesn't use all available nodes", orderedNodes.size(), allNodes.size());
-
-        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
-    }
-
-    /**
-     * @throws Exception If test failed.
-     */
-    public void testMultipleTaskSessions() throws Exception {
-        ComputeTaskSession ses1 = new GridTestTaskSession(IgniteUuid.randomUuid());
-        ComputeTaskSession ses2 = new GridTestTaskSession(IgniteUuid.randomUuid());
-
-        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
-
-        List<UUID> orderedNodes = getSpi().getNodeIds(ses1);
-
-        assertEquals("Balancer doesn't use all available nodes", orderedNodes.size(), allNodes.size());
-
-        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses1, ses2);
-
-        getSpiContext().triggerEvent(new IgniteTaskEvent(
-            null, null, EVT_TASK_FINISHED, ses1.getId(), null, null, false, null));
-        getSpiContext().triggerEvent(new IgniteTaskEvent(
-            null, null, EVT_TASK_FAILED, ses2.getId(), null, null, false, null));
-    }
-
-    /**
-     * @throws Exception If test failed.
-     */
-    public void testBalancingOneNode() throws Exception {
-        ComputeTaskSession ses = new GridTestTaskSession();
-
-        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
-
-        List<ClusterNode> balancedNode = Arrays.asList(allNodes.get(0));
-
-        ClusterNode firstNode = getSpi().getBalancedNode(ses, balancedNode, new GridTestJob());
-        ClusterNode secondNode = getSpi().getBalancedNode(ses, balancedNode, new GridTestJob());
-
-        assertEquals(firstNode, secondNode);
-    }
-
-    /** */
-    public void testNodeNotInTopology() {
-        ComputeTaskSession ses = new GridTestTaskSession();
-
-        ClusterNode node = new GridTestNode(UUID.randomUUID());
-
-        List<ClusterNode> notInTop = Arrays.asList(node);
-
-        try {
-            getSpi().getBalancedNode(ses, notInTop, new GridTestJob());
-        }
-        catch (GridException e) {
-            assertTrue(e.getMessage().contains("Task topology does not have alive nodes"));
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java
deleted file mode 100644
index bc8baf8..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiStartStopSelfTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.roundrobin;
-
-import org.gridgain.grid.spi.*;
-import org.gridgain.testframework.junits.spi.*;
-
-/**
- * Tests correct start of {@link RoundRobinLoadBalancingSpi}.
- */
-@SuppressWarnings({"JUnitTestCaseWithNoTests"})
-@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "LoadBalancing SPI")
-public class GridRoundRobinLoadBalancingSpiStartStopSelfTest
-    extends GridSpiStartStopAbstractTest<RoundRobinLoadBalancingSpi> {
-    // No configs.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java
deleted file mode 100644
index 54d9d49..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.roundrobin;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-
-import java.util.*;
-
-import static org.gridgain.grid.spi.loadbalancing.roundrobin.GridRoundRobinTestUtils.*;
-
-/**
- * Tests round robin load balancing with topology changes.
- */
-@GridSpiTest(spi = RoundRobinLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest
-    extends GridSpiAbstractTest<RoundRobinLoadBalancingSpi> {
-    /**
-     * @return Per-task configuration parameter.
-     */
-    @GridSpiTestConfig
-    public boolean getPerTask() { return false; }
-
-    /** {@inheritDoc} */
-    @Override protected GridSpiTestContext initSpiContext() throws Exception {
-        GridSpiTestContext spiCtx = super.initSpiContext();
-
-        spiCtx.createLocalNode();
-        spiCtx.createRemoteNodes(10);
-
-        return spiCtx;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTopologyChange() throws Exception {
-        ComputeTaskSession ses = new GridTestTaskSession(IgniteUuid.randomUuid());
-
-        // Warm up.
-        List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes();
-
-        List<UUID> orderedNodes = getSpi().getNodeIds(ses);
-
-        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
-
-        // Remove node.
-        UUID doomed = orderedNodes.get(0);
-
-        if (getSpiContext().localNode().id().equals(doomed))
-            doomed = orderedNodes.get(1);
-
-        getSpiContext().removeNode(doomed);
-
-        assertTrue(allNodes.remove(new GridTestNode(doomed)));
-
-        orderedNodes = getSpi().getNodeIds(ses);
-
-        assertFalse("Balancer uses removed node", orderedNodes.contains(doomed));
-
-        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
-
-        // Add node.
-        ClusterNode newNode = new GridTestNode(UUID.randomUUID());
-
-        getSpiContext().addNode(newNode);
-
-        assertTrue(allNodes.add(newNode));
-
-        // Check that new node was added to balancing.
-        boolean foundNewNode = false;
-
-        for (int i = 0; i < allNodes.size(); i++) {
-            ClusterNode node = getSpi().getBalancedNode(ses, allNodes, new GridTestJob());
-            if (newNode.id().equals(node.id())) {
-                foundNewNode = true;
-                break;
-            }
-        }
-
-        assertTrue("Balancer doesn't use added node", foundNewNode);
-
-        orderedNodes = getSpi().getNodeIds(ses);
-
-        checkCyclicBalancing(getSpi(), allNodes, orderedNodes, ses);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java
deleted file mode 100644
index 71b7744..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/GridRoundRobinTestUtils.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.roundrobin;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.compute.*;
-import org.gridgain.grid.*;
-
-import java.util.*;
-
-import static org.junit.Assert.*;
-
-/**
- * Helper class for balancer tests.
- */
-class GridRoundRobinTestUtils {
-    /**
-     * Performs two full cycles by round robin routine for check correct order.
-     *
-     * @param spi Load balancing SPI.
-     * @param allNodes Topology nodes.
-     * @param orderedNodes Balancing nodes.
-     * @param ses Task session.
-     * @throws GridException If balancer failed.
-     */
-    static void checkCyclicBalancing(RoundRobinLoadBalancingSpi spi, List<ClusterNode> allNodes,
-        List<UUID> orderedNodes, ComputeTaskSession ses) throws GridException {
-
-        ClusterNode firstNode = spi.getBalancedNode(ses, allNodes, new GridTestJob());
-
-        int startIdx = firstBalancedNodeIndex(firstNode, orderedNodes);
-
-        // Two full cycles by round robin routine.
-        for (int i = 0; i < allNodes.size() * 2; i++) {
-            int actualIdx = (startIdx + i + 1) % allNodes.size();
-
-            ClusterNode nextNode = spi.getBalancedNode(ses, allNodes, new GridTestJob());
-
-            assertEquals("Balancer returns node out of order", nextNode.id(), orderedNodes.get(actualIdx));
-        }
-    }
-
-    /**
-     * Performs two full cycles by round robin routine for check correct order.
-     * Switches between two task sessions by turns.
-     *
-     * @param spi Load balancing SPI.
-     * @param allNodes Topology nodes.
-     * @param orderedNodes Balancing nodes.
-     * @param ses1 First task session.
-     * @param ses2 Second task session.
-     * @throws GridException If balancer failed.
-     */
-    static void checkCyclicBalancing(RoundRobinLoadBalancingSpi spi, List<ClusterNode> allNodes,
-        List<UUID> orderedNodes, ComputeTaskSession ses1, ComputeTaskSession ses2) throws GridException {
-
-        ClusterNode firstNode = spi.getBalancedNode(ses1, allNodes, new GridTestJob());
-
-        int startIdx = firstBalancedNodeIndex(firstNode, orderedNodes);
-
-        // Two full cycles by round robin routine.
-        for (int i = 0; i < allNodes.size() * 2; i++) {
-            int actualIdx = (startIdx + i + 1) % allNodes.size();
-
-            ClusterNode nextNode = spi.getBalancedNode(i % 2 == 0 ? ses1 : ses2, allNodes, new GridTestJob());
-
-            assertEquals("Balancer returns node out of order", nextNode.id(), orderedNodes.get(actualIdx));
-        }
-    }
-
-    /**
-     * @param firstNode First node which was return by balancer.
-     * @param orderedNodes Balancing nodes.
-     * @return Index of first node which was return by balancer.
-     */
-    static int firstBalancedNodeIndex(ClusterNode firstNode, List<UUID> orderedNodes) {
-        int startIdx = -1;
-
-        for (int i = 0; i < orderedNodes.size(); i++) {
-            if (firstNode.id() == orderedNodes.get(i))
-                startIdx = i;
-        }
-
-        assertTrue("Can't find position of first balanced node", startIdx >= 0);
-
-        return startIdx;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/package.html
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/package.html b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/package.html
deleted file mode 100644
index 5cad80a..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/roundrobin/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-    @html.file.header
-    _________        _____ __________________        _____
-    __  ____/___________(_)______  /__  ____/______ ____(_)_______
-    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
-    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
-    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
--->
-<html>
-<body>
-    <!-- Package description. -->
-    Contains internal tests or test related classes and interfaces.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java
deleted file mode 100644
index 40e24f3..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiConfigSelfTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.weightedrandom;
-
-import org.gridgain.testframework.junits.spi.*;
-
-/**
- *
- */
-@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridWeightedRandomLoadBalancingSpiConfigSelfTest extends
-    GridSpiAbstractConfigTest<WeightedRandomLoadBalancingSpi> {
-    /**
-     * @throws Exception If failed.
-     */
-    public void testNegativeConfig() throws Exception {
-        checkNegativeSpiProperty(new WeightedRandomLoadBalancingSpi(), "nodeWeight", 0);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java
deleted file mode 100644
index efc21ed..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiSelfTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.weightedrandom;
-
-import org.apache.ignite.cluster.*;
-import org.gridgain.grid.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-import java.util.*;
-
-/**
- * Weighted random load balancing SPI.
- */
-@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridWeightedRandomLoadBalancingSpiSelfTest extends
-    GridSpiAbstractTest<WeightedRandomLoadBalancingSpi> {
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings({"ObjectEquality"})
-    public void testSingleNode() throws Exception {
-        List<ClusterNode> nodes = Collections.singletonList((ClusterNode)new GridTestNode(UUID.randomUUID()));
-
-        ClusterNode node = getSpi().getBalancedNode(new GridTestTaskSession(), nodes, new GridTestJob());
-
-        assert nodes.contains(node);
-
-        // Verify that same instance is returned every time.
-        ClusterNode balancedNode = getSpi().getBalancedNode(new GridTestTaskSession(), nodes, new GridTestJob());
-
-        assert node == balancedNode;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testMultipleNodes() throws Exception {
-        List<ClusterNode> nodes = new ArrayList<>();
-
-        for (int i = 0; i < 10; i++)
-            nodes.add(new GridTestNode(UUID.randomUUID()));
-
-        // Seal it.
-        nodes = Collections.unmodifiableList(nodes);
-
-        ClusterNode node = getSpi().getBalancedNode(new GridTestTaskSession(), nodes, new GridTestJob());
-
-        assert node != null;
-        assert nodes.contains(node);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java
deleted file mode 100644
index 4c9b352..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiStartStopSelfTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.weightedrandom;
-
-import org.gridgain.grid.spi.*;
-import org.gridgain.testframework.junits.spi.*;
-
-/**
- * Wighted random load balancing SPI start-stop test.
- */
-@SuppressWarnings({"JUnitTestCaseWithNoTests"})
-@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "LoadBalancing SPI")
-public class GridWeightedRandomLoadBalancingSpiStartStopSelfTest extends
-    GridSpiStartStopAbstractTest<WeightedRandomLoadBalancingSpi> {
-    // No configs.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java
deleted file mode 100644
index 289be66..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/GridWeightedRandomLoadBalancingSpiWeightedSelfTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.spi.loadbalancing.weightedrandom;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.gridgain.testframework.*;
-import org.gridgain.testframework.junits.spi.*;
-import java.util.*;
-
-import static org.gridgain.grid.spi.loadbalancing.weightedrandom.WeightedRandomLoadBalancingSpi.*;
-
-/**
- * {@link WeightedRandomLoadBalancingSpi} self test.
- */
-@GridSpiTest(spi = WeightedRandomLoadBalancingSpi.class, group = "Load Balancing SPI")
-public class GridWeightedRandomLoadBalancingSpiWeightedSelfTest
-    extends GridSpiAbstractTest<WeightedRandomLoadBalancingSpi> {
-    /**
-     * @return {@code True} if node weights should be considered.
-     */
-    @GridSpiTestConfig
-    public boolean getUseWeights() {
-        return true;
-    }
-
-    /**
-     * @throws Exception If test failed.
-     */
-    public void testWeights() throws Exception {
-        List<ClusterNode> nodes = new ArrayList<>();
-
-        for (int i = 0; i < 10; i++) {
-            GridTestNode node = new GridTestNode(UUID.randomUUID());
-
-            node.addAttribute(U.spiAttribute(getSpi(), NODE_WEIGHT_ATTR_NAME), i + 1);
-
-            nodes.add(node);
-        }
-
-        // Seal it.
-        nodes = Collections.unmodifiableList(nodes);
-
-        int[] cnts = new int[10];
-
-        // Invoke load balancer a large number of times, so statistics won't lie.
-        for (int i = 0; i < 100000; i++) {
-            ClusterNode node = getSpi().getBalancedNode(new GridTestTaskSession(IgniteUuid.randomUuid()), nodes,
-                new GridTestJob());
-
-            int weight = (Integer)node.attribute(U.spiAttribute(getSpi(), NODE_WEIGHT_ATTR_NAME));
-
-            // Increment number of times a node was picked.
-            cnts[weight - 1]++;
-        }
-
-        for (int i = 0; i < cnts.length - 1; i++) {
-            assert cnts[i] < cnts[i + 1] : "Invalid node counts for index [idx=" + i + ", cnts[i]=" + cnts[i] +
-                ", cnts[i+1]=" + cnts[i + 1] + ']';
-        }
-
-        info("Node counts: " + Arrays.toString(cnts));
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/package.html
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/package.html b/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/package.html
deleted file mode 100644
index 5cad80a..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/spi/loadbalancing/weightedrandom/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!--
-    @html.file.header
-    _________        _____ __________________        _____
-    __  ____/___________(_)______  /__  ____/______ ____(_)_______
-    _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
-    / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
-    \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
--->
-<html>
-<body>
-    <!-- Package description. -->
-    Contains internal tests or test related classes and interfaces.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b69a23cd/modules/core/src/test/java/org/gridgain/testsuites/GridSpiLoadBalancingSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/GridSpiLoadBalancingSelfTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/GridSpiLoadBalancingSelfTestSuite.java
index 21f89fb..80c2bff 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/GridSpiLoadBalancingSelfTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/GridSpiLoadBalancingSelfTestSuite.java
@@ -10,9 +10,9 @@
 package org.gridgain.testsuites;
 
 import junit.framework.*;
-import org.gridgain.grid.spi.loadbalancing.adaptive.*;
-import org.gridgain.grid.spi.loadbalancing.roundrobin.*;
-import org.gridgain.grid.spi.loadbalancing.weightedrandom.*;
+import org.apache.ignite.spi.loadbalancing.adaptive.*;
+import org.apache.ignite.spi.loadbalancing.roundrobin.*;
+import org.apache.ignite.spi.loadbalancing.weightedrandom.*;
 
 /**
  * Load balancing SPI self-test suite.