You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by xt...@apache.org on 2022/02/21 10:56:00 UTC

[flink] 02/02: [FLINK-25893][runtime] Do not report error if ResourceManagerServiceImpl#deregisterApplication is called when there's no leading RM.

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 <to...@gmail.com>
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();