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

Jian He commented on YARN-2946:
-------------------------------

[~rohithsharma], I had a quick look at the patch. one comment is:
In each store/update method, instead of doing this:
{code}
      if (isFencedState()) {
        LOG.info("State store is in Fenced state. Can't remove RM Delegation "
            + "Token Master key.");
        return;
      }
      this.stateMachine.doTransition(RMStateStoreEventType.UPDATE_AMRM_TOKEN,
          new RMStateStoreAMRMTokenEvent(amrmTokenSecretManagerState, isUpdate,
              RMStateStoreEventType.UPDATE_AMRM_TOKEN));
{code}
we can do this 
{code}
handleStoreEvent(RMStateStoreEvent event)
{code}

> 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, 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
(v6.3.4#6332)

Reply via email to