use of org.apache.ignite.GridTestTaskSession in project ignite by apache.
the class GridJobStealingFailoverSpiSelfTest method testThiefIdNotSet.
/**
* @throws Exception If test failed.
*/
public void testThiefIdNotSet() throws Exception {
ClusterNode rmt = getSpiContext().remoteNodes().iterator().next();
GridTestJobResult failed = new GridTestJobResult(rmt);
ClusterNode other = getSpi().failover(new GridFailoverTestContext(new GridTestTaskSession(), failed), new ArrayList<>(getSpiContext().nodes()));
assert other != null;
assert other != rmt;
assert other.equals(getSpiContext().localNode());
checkAttributes(failed.getJobContext(), rmt, 1);
}
use of org.apache.ignite.GridTestTaskSession in project ignite by apache.
the class GridJobStealingFailoverSpiSelfTest method testNonZeroFailoverCount.
/**
* @throws Exception If test failed.
*/
public void testNonZeroFailoverCount() throws Exception {
ClusterNode rmt = getSpiContext().remoteNodes().iterator().next();
GridTestJobResult failed = new GridTestJobResult(rmt);
failed.getJobContext().setAttribute(FAILOVER_ATTEMPT_COUNT_ATTR, getSpi().getMaximumFailoverAttempts() - 1);
ClusterNode other = getSpi().failover(new GridFailoverTestContext(new GridTestTaskSession(), failed), new ArrayList<>(getSpiContext().nodes()));
assert other != null;
assert other != rmt;
assert other == getSpiContext().localNode();
checkAttributes(failed.getJobContext(), rmt, getSpi().getMaximumFailoverAttempts());
}
use of org.apache.ignite.GridTestTaskSession in project ignite by apache.
the class GridJobStealingFailoverSpiSelfTest method testMaxHopsExceeded.
/**
* @throws Exception If test failed.
*/
public void testMaxHopsExceeded() throws Exception {
ClusterNode rmt = getSpiContext().remoteNodes().iterator().next();
GridTestJobResult failed = new GridTestJobResult(rmt);
failed.getJobContext().setAttribute(THIEF_NODE_ATTR, getSpiContext().localNode().id());
failed.getJobContext().setAttribute(FAILOVER_ATTEMPT_COUNT_ATTR, getSpi().getMaximumFailoverAttempts());
ClusterNode other = getSpi().failover(new GridFailoverTestContext(new GridTestTaskSession(), failed), new ArrayList<>(getSpiContext().nodes()));
assert other == null;
}
use of org.apache.ignite.GridTestTaskSession in project ignite by apache.
the class GridRoundRobinLoadBalancingSpiTopologyChangeSelfTest method testTopologyChange.
/**
* @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);
}
Aggregations