[ 
https://issues.apache.org/jira/browse/HDFS-4450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13566525#comment-13566525
 ] 

Suresh Srinivas edited comment on HDFS-4450 at 1/30/13 3:06 PM:
----------------------------------------------------------------

bq. PATH still does not solve the Host2NodesMap.getDatanodeByHost (String 
ipAddr) and Host2NodesMap.add() inconsistent.This seems to be a hidden danger.
I do not quite follow. Where getDatanodeByHost() is used, it might be okay for 
the purpose it is used.

It would be good if you can you respond back to my previous comments? For 
convenience here they are:

The description of this jira might not be pointing to an issue. Methods add() 
and getDatanodeByXferAddr() are doing the correct thing. See for details my 
above comment.

What is the branch corresponding to the comment 
https://issues.apache.org/jira/browse/HDFS-4450?focusedCommentId=13566050&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13566050

Are you seeing duplicate datanode issue? If so, please post the logs. Per 
HDFS-3224, as long as the ipaddr + xfer port remains the same, even if the 
storage ID changes, duplicate datanode entry should not occur.
                
      was (Author: sureshms):
    bq. PATH still does not solve the Host2NodesMap.getDatanodeByHost (String 
ipAddr) and Host2NodesMap.add() inconsistent.This seems to be a hidden danger.
I do not quite follow. Where getDatanodeByHost() is used, it might be okay for 
the purpose it is used.

It would be good if you can you respond back to my previous comments? For 
convenience here they are:

The description of this jira might not be pointing to an issue. Methods add() 
and getDatanodeByXferAddr() are doing the correct thing. See for details my 
above comment.

What is the branch corresponding to the comment 
https://issues.apache.org/jira/browse/HDFS-4450?focusedCommentId=13566050&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13566050

Are you seeing duplicate datanode issue? If so, please post the logs.
                  
> 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
>   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

Reply via email to