[
https://issues.apache.org/jira/browse/HDFS-3876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eli Collins updated HDFS-3876:
------------------------------
Attachment: hdfs-3876.txt
#1 Done (and the test now just checks if the file was trashed since we can't
get the mutated conf)
#2 Yup, I actually filed HADOOP-8690 for this a month ago. Throws an IOE now.
#3 Only if the server conf is set, and in that case the client conf is
overridden, I fixed the test so the client conf is explicitly disabled if
!clientTrash.
> 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: 2.2.0-alpha
> Reporter: Todd Lipcon
> Assignee: Eli Collins
> Priority: Blocker
> Attachments: hdfs-3876.txt, hdfs-3876.txt, hdfs-3876.txt,
> 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