[ https://issues.apache.org/jira/browse/HDDS-2199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen O'Donnell updated HDDS-2199: ------------------------------------ Status: Patch Available (was: Open) > In SCMNodeManager dnsToUuidMap cannot track multiple DNs on the same host > ------------------------------------------------------------------------- > > Key: HDDS-2199 > URL: https://issues.apache.org/jira/browse/HDDS-2199 > Project: Hadoop Distributed Data Store > Issue Type: Bug > Affects Versions: 0.5.0 > Reporter: Stephen O'Donnell > Assignee: Stephen O'Donnell > Priority: Major > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > Often in test clusters and tests, we start multiple datanodes on the same > host. > In SCMNodeManager.register() there is a map of hostname -> datanode UUID > called dnsToUuidMap. > If several DNs register from the same host, the entry in the map will be > overwritten and the last DN to register will 'win'. > This means that the method getNodeByAddress() does not return the correct > DatanodeDetails object when many hosts are registered from the same address. > This method is only used in SCMBlockProtocolServer.sortDatanodes() to allow > it to see if one of the nodes matches the client, but it need to be used by > the Decommission code. > Perhaps we could change the getNodeByAddress() method to returns a list of > DNs? In normal production clusters, there should only be one returned, but in > test clusters, there may be many. Any code looking for a specific DN entry > would need to iterate the list and match on the port number too, as host:port > would be the unique definition of a datanode. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org