This is an automated email from the ASF dual-hosted git repository. xtsong pushed a commit to branch release-1.14 in repository https://gitbox.apache.org/repos/asf/flink.git
commit 451c5aa98b516bc7dde2dedfe01a6d3ae8d9c8dd Author: Xintong Song <[email protected]> AuthorDate: Sun Feb 20 17:52:59 2022 +0800 [FLINK-25893][runtime] Do not report error if ResourceManagerServiceImpl#deregisterApplication is called when there's no leading RM. close #18856 --- .../runtime/resourcemanager/ResourceManagerServiceImpl.java | 5 ++--- .../resourcemanager/ResourceManagerServiceImplTest.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImpl.java b/flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImpl.java index 76f71ce..2755cf0 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImpl.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImpl.java @@ -155,9 +155,8 @@ public class ResourceManagerServiceImpl implements ResourceManagerService, Leade } private static CompletableFuture<Void> deregisterWithoutLeaderRm() { - return FutureUtils.completedExceptionally( - new FlinkException( - "Cannot deregister application. Resource manager service is not available.")); + LOG.warn("Cannot deregister application. Resource manager service is not available."); + return FutureUtils.completedVoidFuture(); } @Override diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImplTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImplTest.java index fbfb8ee..ec793d5 100644 --- a/flink-runtime/src/test/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImplTest.java +++ b/flink-runtime/src/test/java/org/apache/flink/runtime/resourcemanager/ResourceManagerServiceImplTest.java @@ -480,6 +480,16 @@ public class ResourceManagerServiceImplTest extends TestLogger { deregisterApplicationFuture.get(TIMEOUT.getSize(), TIMEOUT.getUnit()); } + @Test + public void deregisterApplication_noLeaderRm() throws Exception { + createAndStartResourceManager(); + final CompletableFuture<Void> deregisterApplicationFuture = + resourceManagerService.deregisterApplication(ApplicationStatus.CANCELED, null); + + // should not report error + deregisterApplicationFuture.get(TIMEOUT.getSize(), TIMEOUT.getUnit()); + } + private static void blockOnFuture(CompletableFuture<?> future) { try { future.get();
