[
https://issues.apache.org/jira/browse/HDFS-4450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13738173#comment-13738173
]
Vinay commented on HDFS-4450:
-----------------------------
I have verified as mentioned
1. HA cluster with 3 Datanodes
2. Remove the data directories of one datanode and restart datanode.
3. After restart, NameNode was displaying only one datanode for that host.
I didn't find any duplicate datanodes.
> Duplicate data node on the name node after formatting data node
> ---------------------------------------------------------------
>
> Key: HDFS-4450
> URL: https://issues.apache.org/jira/browse/HDFS-4450
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.0.2-alpha
> Reporter: WenJin Ma
> Attachments: exception.bmp, normal.bmp
>
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> Duplicate data node on the name node after formatting data node。
> When we registered data node,use nodeReg.getXferPort() to find
> DatanodeDescriptor.
> {code}
> DatanodeDescriptor nodeN = host2DatanodeMap.getDatanodeByXferAddr(
> nodeReg.getIpAddr(), nodeReg.getXferPort());
> {code}
> but add data node use node.getIpAddr().
> {code}
> /** add node to the map
> * return true if the node is added; false otherwise.
> */
> boolean add(DatanodeDescriptor node) {
> hostmapLock.writeLock().lock();
> try {
> if (node==null || contains(node)) {
> return false;
> }
>
> String ipAddr = node.getIpAddr();
> DatanodeDescriptor[] nodes = map.get(ipAddr);
> DatanodeDescriptor[] newNodes;
> if (nodes==null) {
> newNodes = new DatanodeDescriptor[1];
> newNodes[0]=node;
> } else { // rare case: more than one datanode on the host
> newNodes = new DatanodeDescriptor[nodes.length+1];
> System.arraycopy(nodes, 0, newNodes, 0, nodes.length);
> newNodes[nodes.length] = node;
> }
> map.put(ipAddr, newNodes);
> return true;
> } finally {
> hostmapLock.writeLock().unlock();
> }
> }
> {code}
--
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