@Override @SuppressWarnings("unchecked") public Future<Object> ask(Object message, FiniteDuration timeout) { messageArrived = true; if (message.getClass().isAssignableFrom(messageClass)) { return Future$.MODULE$.successful(process((M) message)); } fail("Expected TriggerSavepoint message, got: " + message.getClass()); return null; }
@Benchmark public Future<String> exception() { return Future$.MODULE$.<String>failed(exception); }
@Test public void testDeployerWithIsolatedConfiguration() throws Exception { YarnClusterConfiguration clusterConf = mock(YarnClusterConfiguration.class); doReturn(new YarnConfiguration()).when(clusterConf).conf(); ScheduledExecutorService executor = mock(ScheduledExecutorService.class); Configuration flinkConf = new Configuration(); YarnClient client = mock(YarnClient.class); JobDeployer deploy = new JobDeployer(clusterConf, client, executor, flinkConf); AthenaXYarnClusterDescriptor desc = mock(AthenaXYarnClusterDescriptor.class); YarnClusterClient clusterClient = mock(YarnClusterClient.class); doReturn(clusterClient).when(desc).deploy(); ActorGateway actorGateway = mock(ActorGateway.class); doReturn(actorGateway).when(clusterClient).getJobManagerGateway(); doReturn(Future$.MODULE$.successful(null)).when(actorGateway).ask(any(), any()); JobGraph jobGraph = mock(JobGraph.class); doReturn(JobID.generate()).when(jobGraph).getJobID(); deploy.start(desc, jobGraph); verify(clusterClient).runDetached(jobGraph, null); } }
@Override public Future<Object> ask(Object message, FiniteDuration timeout) { messageArrived = true; if (message instanceof JobManagerMessages.StopJob) { JobManagerMessages.StopJob stopJob = (JobManagerMessages.StopJob) message; Assert.assertEquals(expectedJobID, stopJob.jobID()); return Future$.MODULE$.successful(new JobManagerMessages.StoppingSuccess(stopJob.jobID())); } fail("Expected StopJob message, got: " + message.getClass()); return null; } }