Github user GJL commented on a diff in the pull request:
https://github.com/apache/flink/pull/5219#discussion_r159402067
--- Diff:
flink-clients/src/test/java/org/apache/flink/client/CliFrontendSavepointTest.java
---
@@ -178,65 +185,30 @@ public void testTriggerSavepointCustomTarget() throws
Exception {
public void testDisposeSavepointSuccess() throws Exception {
replaceStdOutAndStdErr();
- try {
- String savepointPath = "expectedSavepointPath";
- ActorGateway jobManager = mock(ActorGateway.class);
+ String savepointPath = "expectedSavepointPath";
- Promise<Object> triggerResponse = new
scala.concurrent.impl.Promise.DefaultPromise<>();
+ final CompletableFuture<Acknowledge> disposeCallFuture = new
CompletableFuture<>();
- when(jobManager.ask(
- Mockito.eq(new
DisposeSavepoint(savepointPath)),
-
any(FiniteDuration.class))).thenReturn(triggerResponse.future());
+ ClusterClient clusterClient = new
DisposeSavepointClusterClient((String path, Time timeout) -> {
+ disposeCallFuture.complete(Acknowledge.get());
+ return
CompletableFuture.completedFuture(Acknowledge.get());
+ });
- triggerResponse.success(getDisposeSavepointSuccess());
+ try {
- CliFrontend frontend = new MockCliFrontend(
- CliFrontendTestUtils.getConfigDir(),
jobManager);
+ CliFrontend frontend = new
MockedCliFrontend(clusterClient);
String[] parameters = { "-d", savepointPath };
- int returnCode = frontend.savepoint(parameters);
+ frontend.savepoint(parameters);
- assertEquals(0, returnCode);
- verify(jobManager, times(1)).ask(
- Mockito.eq(new
DisposeSavepoint(savepointPath)),
- any(FiniteDuration.class));
+ disposeCallFuture.get();
--- End diff --
Everything is run in the main thread:
```
@Override
public CompletableFuture<Acknowledge> disposeSavepoint(String
savepointPath, Time timeout) {
return disposeSavepointFunction.apply(savepointPath,
timeout);
}
```
There is no need to wait for the completion of this future. The future can
be removed.
---