You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2025/09/26 14:11:00 UTC

[jira] [Commented] (YARN-11839) [RM HA] - In corner case, RM stay in ACTIVE with RMStateStore in FENCED state

    [ https://issues.apache.org/jira/browse/YARN-11839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18023123#comment-18023123 ] 

ASF GitHub Bot commented on YARN-11839:
---------------------------------------

vinayakumarb opened a new pull request, #7999:
URL: https://github.com/apache/hadoop/pull/7999

   
   - Adds recheck of current state before invoking `transitionToStandBy()` in a new thread.
   - This re-check avoids setting of `StandByTransitionRunnable#hasAlreadyRun = true` when the state is already StandBy.
   - This fix, allows proper `transitionToStandby()` when RMStateStore reaches FENCED state.




> [RM HA] - In corner case, RM stay in ACTIVE with RMStateStore in FENCED state
> -----------------------------------------------------------------------------
>
>                 Key: YARN-11839
>                 URL: https://issues.apache.org/jira/browse/YARN-11839
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>            Reporter: Vinayakumar B
>            Assignee: Vinayakumar B
>            Priority: Critical
>
> In a corner case involved with the following events RM will stay in ACTIVE, but RMStateStore in FENCED state.
>  # initially RM in ACTIVE state.
>  # An event triggered to `transitionToStandby()` on RM.
>  # during *reinitialize(true)* in RM, CapacitySchduler created. BUT not inited yet.
>  # Another `{*}transitionToActive(){*}`  triggered from zk re-election which triggered `{*}reinitialize(){*}` on CapacityScheduler, resulting in `{*}NullPointerException{*}` and in-turn generating `{*}RMFatalEventType.TRANSITION_TO_ACTIVE_FAILED{*}`
>  # This triggered `{*}StandByTransitionRunnable{*}` runnable and set the flag `{*}hasAlreadyRun=true{*}`, even though RM was already STANDBY at this stage.
>  # This state continued for sometime.
>  # After sometime RM became active after re-election. But this time `{*}StandByTransitionRunnable#hasAlreadyRun{*}` is still true.
>  # Now, due to ZK unstable, RMStateStore met with ZK error and went to *FENCED* state.
>  # This again triggered `{*}StandByTransitionRunnable{*}` runnable.
>  # Now, due the flag, `{*}StandByTransitionRunnable{*}` silently exited.
>  # RM continued to stay in *ACTIVE* with RMStateStore in *FENCED* state.
>  # All new applications are continued to stay in *NEW_SAVING* state and no more state changes in any of the applications.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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