hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jian He (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-2946) DeadLocks in RMStateStore<->ZKRMStateStore
Date Sun, 14 Dec 2014 03:04:13 GMT

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

Jian He commented on YARN-2946:

bq. For all above mentioned method's causing deadlock , introduce StateMachine in RMStateStore
like handling application store. So all the execution flows from StateMachine->zkRMStateStore.class.

I think this is a reasonable way. We can call the transitions synchronously in each storeToken
or storeMasterKey methods.   This way we make all store operations follow the same path -
all going through state machines

> DeadLocks in RMStateStore<->ZKRMStateStore
> ------------------------------------------
>                 Key: YARN-2946
>                 URL: https://issues.apache.org/jira/browse/YARN-2946
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>    Affects Versions: 2.7.0
>            Reporter: Rohith
>            Assignee: Rohith
>            Priority: Blocker
>         Attachments: 0001-YARN-2946.patch, 0002-YARN-2946.patch, RM_BeforeFix_Deadlock_cycle_1.png,
RM_BeforeFix_Deadlock_cycle_2.png, TestYARN2946.java
> Found one deadlock in ZKRMStateStore.
> # Initial stage zkClient is null because of zk disconnected event.
> # When ZKRMstatestore#runWithCheck()  wait(zkSessionTimeout) for zkClient to re establish
zookeeper connection either via synconnected or expired event, it is highly possible that
any other thred can obtain lock on {{ZKRMStateStore.this}} from state machine transition events.
This cause Deadlock in ZKRMStateStore.

This message was sent by Atlassian JIRA

View raw message