[ 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)