[
https://issues.apache.org/jira/browse/HDDS-2199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stephen O'Donnell reassigned HDDS-2199:
---------------------------------------
Assignee: Stephen O'Donnell
> 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
>
> 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: [email protected]
For additional commands, e-mail: [email protected]