[
https://issues.apache.org/jira/browse/YARN-1929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13966540#comment-13966540
]
Rohith commented on YARN-1929:
------------------------------
Current deadlock is involved between
*EmbeddedElectorService* -> *ActiveStandbyElector*
*ActiveStandbyElector* -> *EmbeddedElectorService*
I initially thought of solving by maintaining an order of
"*ActiveStandbyElector* --> *EmbeddedElectorService*" lock at
EmbeddedElectorService.
But when looked into deep, still dead lock can ocure with 3 objects. Current
locking is happening like below
*ActiveStandbyElector* -> *EmbeddedElectorService* -> *AdminService*
*AdminService* -> *EmbeddedElectorService* -> *ActiveStandbyElector*
Going with above initial thought, still deadlock can ocure between like below.
*( ActiveStandbyElector -> EmbeddedElectorService )* -> AdminService
AdminService -> *( ActiveStandbyElector -> EmbeddedElectorService )*
> DeadLock in RM when automatic failover is enabled.
> --------------------------------------------------
>
> Key: YARN-1929
> URL: https://issues.apache.org/jira/browse/YARN-1929
> Project: Hadoop YARN
> Issue Type: Bug
> Components: resourcemanager
> Environment: Yarn HA cluster
> Reporter: Rohith
> Priority: Critical
>
> Dead lock detected in RM when automatic failover is enabled.
> {noformat}
> Found one Java-level deadlock:
> =============================
> "Thread-2":
> waiting to lock monitor 0x00007fb514303cf0 (object 0x00000000ef153fd0, a
> org.apache.hadoop.ha.ActiveStandbyElector),
> which is held by "main-EventThread"
> "main-EventThread":
> waiting to lock monitor 0x00007fb514750a48 (object 0x00000000ef154020, a
> org.apache.hadoop.yarn.server.resourcemanager.EmbeddedElectorService),
> which is held by "Thread-2"
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)