You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Suresh Srinivas (JIRA)" <ji...@apache.org> on 2013/01/30 00:29:13 UTC
[jira] [Commented] (HDFS-4450) Duplicate data node on the name node
after formatting data node
[ https://issues.apache.org/jira/browse/HDFS-4450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565963#comment-13565963 ]
Suresh Srinivas commented on HDFS-4450:
---------------------------------------
This is working as expected. The two instances of datanodes are different. On restart of the namenode the previous instance of datanode will no longer be tracked/show on web UI by the namenode.
> 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: MaWenJin
> 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