[ https://issues.apache.org/jira/browse/HDFS-3876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13446500#comment-13446500 ]
Aaron T. Myers commented on HDFS-3876: -------------------------------------- Makes sense. I was just responding to the comment that "We need to have a general policy that the NN should never make RPCs to itself for any reason, due to potential for deadlocks like this." > NN should not RPC to self to find trash defaults (causes deadlock) > ------------------------------------------------------------------ > > Key: HDFS-3876 > URL: https://issues.apache.org/jira/browse/HDFS-3876 > Project: Hadoop HDFS > Issue Type: Bug > Components: name-node > Affects Versions: 3.0.0, 2.2.0-alpha > Reporter: Todd Lipcon > Assignee: Eli Collins > Priority: Blocker > Attachments: hdfs-3876.txt > > > When transitioning a SBN to active, I ran into the following situation: > - the TrashPolicy first gets loaded by an IPC Server Handler thread. The > {{initialize}} function then tries to make an RPC to the same node to find > out the defaults. > - This is happening inside the NN write lock (since it's part of the active > initialization). Hence, all of the other handler threads are already blocked > waiting to get the NN lock. > - Since no handler threads are free, the RPC blocks forever and the NN never > enters active state. > We need to have a general policy that the NN should never make RPCs to itself > for any reason, due to potential for deadlocks like this. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira