use of org.apache.ignite.spi.collision.GridTestCollisionJobContext in project ignite by apache.
the class GridPriorityQueueCollisionSpiSelfTest method testCollision5.
/**
* @throws Exception If failed.
*/
public void testCollision5() throws Exception {
List<CollisionJobContext> activeJobs = makeContextList(null, false);
List<CollisionJobContext> passiveJobs = makeContextList(null, false);
getSpi().setParallelJobsNumber(12);
getSpi().setStarvationPreventionEnabled(false);
getSpi().onCollision(new GridCollisionTestContext(activeJobs, passiveJobs));
String jobAttrKey = DFLT_JOB_PRIORITY_ATTRIBUTE_KEY;
for (CollisionJobContext ctx : passiveJobs) {
int taskP = ((GridTestCollisionTaskSession) ctx.getTaskSession()).getPriority();
if (taskP >= 8) {
assert ((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
} else {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
assert ctx.getJobContext().<String, Integer>getAttribute(jobAttrKey) == null;
}
for (CollisionJobContext ctx : activeJobs) {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
}
use of org.apache.ignite.spi.collision.GridTestCollisionJobContext in project ignite by apache.
the class GridPriorityQueueCollisionSpiSelfTest method testCollision.
/**
* @throws Exception If failed.
*/
public void testCollision() throws Exception {
List<CollisionJobContext> activeJobs = makeContextList(null);
List<CollisionJobContext> passiveJobs = makeContextList(null);
getSpi().setParallelJobsNumber(20);
getSpi().onCollision(new GridCollisionTestContext(activeJobs, passiveJobs));
for (CollisionJobContext ctx : passiveJobs) {
assert ((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
for (CollisionJobContext ctx : activeJobs) {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
}
use of org.apache.ignite.spi.collision.GridTestCollisionJobContext in project ignite by apache.
the class GridPriorityQueueCollisionSpiSelfTest method testCollisionAttributeName.
/**
* @throws Exception If failed.
*/
@SuppressWarnings({ "TooBroadScope" })
public void testCollisionAttributeName() throws Exception {
String taskAttrKey = "testTaskPriority";
String jobAttrKey = "testJobPriority";
List<CollisionJobContext> activeJobs = makeContextList(taskAttrKey);
List<CollisionJobContext> passiveJobs = makeContextList(taskAttrKey);
getSpi().setParallelJobsNumber(12);
getSpi().setPriorityAttributeKey(taskAttrKey);
getSpi().setJobPriorityAttributeKey(jobAttrKey);
getSpi().onCollision(new GridCollisionTestContext(activeJobs, passiveJobs));
int incVal = getSpi().getStarvationIncrement();
for (CollisionJobContext ctx : passiveJobs) {
if (((GridTestCollisionTaskSession) ctx.getTaskSession()).getPriority() >= 8) {
assert ((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
} else {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
Integer p = ctx.getJobContext().getAttribute(jobAttrKey);
if (p != null)
assert p == incVal + ((GridTestCollisionTaskSession) ctx.getTaskSession()).getPriority();
}
for (CollisionJobContext ctx : activeJobs) {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
getSpi().setPriorityAttributeKey(DFLT_PRIORITY_ATTRIBUTE_KEY);
getSpi().setJobPriorityAttributeKey(DFLT_JOB_PRIORITY_ATTRIBUTE_KEY);
}
use of org.apache.ignite.spi.collision.GridTestCollisionJobContext in project ignite by apache.
the class GridPriorityQueueCollisionSpiSelfTest method testCollision3.
/**
* @throws Exception If failed.
*/
public void testCollision3() throws Exception {
List<CollisionJobContext> activeJobs = makeContextList(null);
List<CollisionJobContext> passiveJobs = makeContextList(null);
getSpi().setParallelJobsNumber(5);
getSpi().onCollision(new GridCollisionTestContext(activeJobs, passiveJobs));
for (CollisionJobContext ctx : passiveJobs) {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
for (CollisionJobContext ctx : activeJobs) {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
}
use of org.apache.ignite.spi.collision.GridTestCollisionJobContext in project ignite by apache.
the class GridPriorityQueueCollisionSpiSelfTest method testCollision4.
/**
* @throws Exception If failed.
*/
@SuppressWarnings({ "TooBroadScope" })
public void testCollision4() throws Exception {
List<CollisionJobContext> activeJobs = makeContextList(null, false);
List<CollisionJobContext> passiveJobs = makeContextList(null, false);
int incVal = 2;
getSpi().setParallelJobsNumber(12);
getSpi().setStarvationIncrement(incVal);
getSpi().onCollision(new GridCollisionTestContext(activeJobs, passiveJobs));
String jobAttrKey = DFLT_JOB_PRIORITY_ATTRIBUTE_KEY;
for (CollisionJobContext ctx : passiveJobs) {
int taskP = ((GridTestCollisionTaskSession) ctx.getTaskSession()).getPriority();
if (taskP >= 8) {
assert ((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
} else {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
if (taskP < 5) {
Integer p = ctx.getJobContext().getAttribute(jobAttrKey);
assert p != null;
assert p == incVal + taskP;
}
}
for (CollisionJobContext ctx : activeJobs) {
assert !((GridTestCollisionJobContext) ctx).isActivated();
assert !((GridTestCollisionJobContext) ctx).isCanceled();
}
getSpi().setStarvationIncrement(DFLT_STARVATION_INCREMENT);
}
Aggregations