use of org.apache.ignite.spi.systemview.view.ComputeTaskView in project ignite by apache.
the class SystemViewSelfTest method testComputeAffinityCall.
/**
* Tests work of {@link SystemView} for compute grid
* {@link IgniteCompute#affinityCallAsync(String, Object, IgniteCallable)} call.
*/
@Test
public void testComputeAffinityCall() throws Exception {
CyclicBarrier barrier = new CyclicBarrier(2);
try (IgniteEx g1 = startGrid(0)) {
SystemView<ComputeTaskView> tasks = g1.context().systemView().view(TASKS_VIEW);
IgniteCache<Integer, Integer> cache = g1.createCache("test-cache");
cache.put(1, 1);
g1.compute().affinityCallAsync("test-cache", 1, () -> {
try {
barrier.await();
barrier.await();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
return 0;
});
barrier.await();
assertEquals(1, tasks.size());
ComputeTaskView t = tasks.iterator().next();
assertFalse(t.internal());
assertEquals("test-cache", t.affinityCacheName());
assertEquals(1, t.affinityPartitionId());
assertTrue(t.taskClassName().startsWith(getClass().getName()));
assertTrue(t.taskName().startsWith(getClass().getName()));
assertEquals(g1.localNode().id(), t.taskNodeId());
assertEquals("0", t.userVersion());
barrier.await();
}
}
use of org.apache.ignite.spi.systemview.view.ComputeTaskView in project ignite by apache.
the class SystemViewSelfTest method testComputeBroadcast.
/**
* Tests work of {@link SystemView} for compute grid {@link IgniteCompute#broadcastAsync(IgniteRunnable)} call.
*/
@Test
public void testComputeBroadcast() throws Exception {
CyclicBarrier barrier = new CyclicBarrier(6);
try (IgniteEx g1 = startGrid(0)) {
SystemView<ComputeTaskView> tasks = g1.context().systemView().view(TASKS_VIEW);
for (int i = 0; i < 5; i++) {
g1.compute().broadcastAsync(() -> {
try {
barrier.await();
barrier.await();
} catch (InterruptedException | BrokenBarrierException e) {
throw new RuntimeException(e);
}
});
}
barrier.await();
assertEquals(5, tasks.size());
ComputeTaskView t = tasks.iterator().next();
assertFalse(t.internal());
assertNull(t.affinityCacheName());
assertEquals(-1, t.affinityPartitionId());
assertTrue(t.taskClassName().startsWith(getClass().getName()));
assertTrue(t.taskName().startsWith(getClass().getName()));
assertEquals(g1.localNode().id(), t.taskNodeId());
assertEquals("0", t.userVersion());
barrier.await();
}
}
Aggregations