hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4209) RMStateStore FENCED state doesn’t work due to updateFencedState called by stateMachine.doTransition
Date Wed, 07 Oct 2015 10:36:27 GMT

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

Hudson commented on YARN-4209:
------------------------------

FAILURE: Integrated in Hadoop-Hdfs-trunk #2403 (See [https://builds.apache.org/job/Hadoop-Hdfs-trunk/2403/])
YARN-4209. RMStateStore FENCED state doesn’t work due to (rohithsharmaks: rev 9156fc60c654e9305411686878acb443f3be1e67)
* hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestMemoryRMStateStore.java
* hadoop-yarn-project/CHANGES.txt
* hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java


> RMStateStore FENCED state doesn’t work due to updateFencedState called by stateMachine.doTransition
> ---------------------------------------------------------------------------------------------------
>
>                 Key: YARN-4209
>                 URL: https://issues.apache.org/jira/browse/YARN-4209
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>    Affects Versions: 2.7.2
>            Reporter: zhihai xu
>            Assignee: zhihai xu
>            Priority: Critical
>             Fix For: 2.7.2
>
>         Attachments: YARN-4209.000.patch, YARN-4209.001.patch, YARN-4209.002.patch, YARN-4209.branch-2.7.patch
>
>
> RMStateStore FENCED state doesn’t work due to {{updateFencedState}} called by {{stateMachine.doTransition}}.
The reason is
> {{stateMachine.doTransition}} called from {{updateFencedState}} is embedded in {{stateMachine.doTransition}}
called from public API(removeRMDelegationToken...) or {{ForwardingEventHandler#handle}}. So
right after the internal state transition from {{updateFencedState}} changes the state to
FENCED state, the external state transition changes the state back to ACTIVE state. The end
result is that RMStateStore is still in ACTIVE state even after {{notifyStoreOperationFailed}}
is called. The only working case for FENCED state is {{notifyStoreOperationFailed}} called
from {{ZKRMStateStore#VerifyActiveStatusThread}}.
> For example: {{removeRMDelegationToken}} => {{handleStoreEvent}} => enter external
{{stateMachine.doTransition}} => {{RemoveRMDTTransition}} => {{notifyStoreOperationFailed}}
=>{{updateFencedState}}=>{{handleStoreEvent}}=> enter internal {{stateMachine.doTransition}}
=> exit internal {{stateMachine.doTransition}} change state to FENCED => exit external
{{stateMachine.doTransition}} change state to ACTIVE.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message