You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cn...@apache.org on 2025/10/31 20:53:28 UTC

(hadoop) branch trunk updated: YARN-11839. [RM HA] - In corner case, RM stay in ACTIVE with RMStateStore in FENCED state

This is an automated email from the ASF dual-hosted git repository.

cnauroth pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 7696764ee39 YARN-11839. [RM HA] - In corner case, RM stay in ACTIVE with RMStateStore in FENCED state
7696764ee39 is described below

commit 7696764ee39db01cac1595d225cb784bf61d079c
Author: Vinayakumar B <vi...@google.com>
AuthorDate: Fri Oct 31 17:29:57 2025 +0000

    YARN-11839. [RM HA] - In corner case, RM stay in ACTIVE with RMStateStore in FENCED state
    
    Closes #7999
    
    Signed-off-by: Shilun Fan <sl...@apache.org>
    Signed-off-by: Chris Nauroth <cn...@apache.org>
    Signed-off-by: Ayush Saxena <ay...@apache.org>
---
 .../apache/hadoop/yarn/server/resourcemanager/ResourceManager.java  | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java
index b35f8cb295c..b2d5a9c9d39 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java
@@ -1218,7 +1218,11 @@ protected void serviceStop() throws Exception {
    * Transition to standby state in a new thread. The transition operation is
    * asynchronous to avoid deadlock caused by cyclic dependency.
    */
-  private void handleTransitionToStandByInNewThread() {
+  private synchronized void handleTransitionToStandByInNewThread() {
+    if (rmContext.getHAServiceState() == HAServiceProtocol.HAServiceState.STANDBY) {
+      LOG.info("RM already in standby state");
+      return;
+    }
     Thread standByTransitionThread =
         new Thread(activeServices.standByTransitionRunnable);
     standByTransitionThread.setName("StandByTransitionThread");


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org