use of com.hazelcast.jet.core.TestProcessors.MockP in project hazelcast by hazelcast.
the class JobTimeoutTest method when_jobIsResumedAndExceedsTimeout_jobIsCancelled.
@Test
public void when_jobIsResumedAndExceedsTimeout_jobIsCancelled() {
final HazelcastInstance hz = createHazelcastInstance();
final DAG dag = new DAG();
dag.newVertex("stuck", () -> new MockP().streaming());
final JobConfig jobConfig = new JobConfig().setTimeoutMillis(1000L);
final Job job = hz.getJet().newJob(dag, jobConfig);
assertJobStatusEventually(job, JobStatus.RUNNING, 1);
job.suspend();
assertJobStatusEventually(job, JobStatus.SUSPENDED, 1);
job.resume();
assertThrows(CancellationException.class, job::join);
assertEquals(JobStatus.FAILED, job.getStatus());
}
use of com.hazelcast.jet.core.TestProcessors.MockP in project hazelcast-jet by hazelcast.
the class ExceptionUtilTest method test_serializationOnNode.
@Test
public void test_serializationOnNode() {
// create one member and one client
JetInstance client = createJetMember();
RuntimeException exc = new RuntimeException("myException");
try {
DAG dag = new DAG();
dag.newVertex("source", () -> new MockP().setCompleteError(exc)).localParallelism(1);
client.newJob(dag).join();
} catch (Exception caught) {
assertThat(caught.toString(), containsString(exc.toString()));
TestUtil.assertExceptionInCauses(exc, caught);
}
}
use of com.hazelcast.jet.core.TestProcessors.MockP in project hazelcast-jet by hazelcast.
the class ExecutionLifecycleTest method when_pmsCloseThrows_then_jobSucceeds.
@Test
public void when_pmsCloseThrows_then_jobSucceeds() {
// Given
RuntimeException e = new RuntimeException("mock error");
DAG dag = new DAG().vertex(new Vertex("test", new MockPMS(() -> new MockPS(MockP::new, NODE_COUNT)).setCloseError(e)));
// When
Job job = instance.newJob(dag);
job.join();
// Then
assertPClosedWithoutError();
assertPsClosedWithoutError();
assertPmsClosedWithoutError();
assertJobSucceeded(job);
}
use of com.hazelcast.jet.core.TestProcessors.MockP in project hazelcast-jet by hazelcast.
the class ExecutionLifecycleTest method when_psCloseThrows_then_jobSucceeds.
@Test
public void when_psCloseThrows_then_jobSucceeds() {
// Given
RuntimeException e = new RuntimeException("mock error");
DAG dag = new DAG().vertex(new Vertex("faulty", new MockPMS(() -> new MockPS(MockP::new, NODE_COUNT).setCloseError(e))));
// When
Job job = instance.newJob(dag);
job.join();
// Then
assertPClosedWithoutError();
assertPsClosedWithoutError();
assertPmsClosedWithoutError();
assertJobSucceeded(job);
}
use of com.hazelcast.jet.core.TestProcessors.MockP in project hazelcast-jet by hazelcast.
the class ExecutionLifecycleTest method when_processorProcessThrows_then_failJob.
@Test
public void when_processorProcessThrows_then_failJob() {
// Given
DAG dag = new DAG();
RuntimeException e = new RuntimeException("mock error");
Vertex source = dag.newVertex("source", ListSource.supplier(singletonList(1)));
Vertex process = dag.newVertex("faulty", new MockPMS(() -> new MockPS(() -> new MockP().setProcessError(e), NODE_COUNT)));
dag.edge(between(source, process));
// When
Job job = runJobExpectFailure(dag, e);
// Then
assertPClosedWithError(e, false);
assertPsClosedWithError(e);
assertPmsClosedWithError(e);
assertJobFailed(job, e);
}
Aggregations