[ https://issues.apache.org/jira/browse/HDFS-3934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13665972#comment-13665972 ]
Colin Patrick McCabe commented on HDFS-3934: -------------------------------------------- points 1, 2, 3, 4, 5, 6, 7, 9, 10, 12: thanks, will fix. Point 8: {{MutableEntrySet}} is used internally in {{HostFileManager}}, but I don't want it to escape to {{DatanodeManager}}. I don't want {{DatanodeManager}] to be able to mutate this set. I was considering using an {{ImmutableMap}}, but unfortunately, {{ImmutableMap#Builder}} chokes when you try to feed it two identical keys with different values. There might be a more elegant way of doing this, but for now, this seemed like a nice way to give DatanodeManager a read-only view without doing a lot of copying. Point 11: I see what you're getting at here, but it's a little trickier than it might seem. If I used {{Map#containsValue}}, I'd have to create a DatanodeInfo object which compared equal to what I was looking for. Then I have to start thinking about what fields {{DatanodeInfo#equals}} looks at, which I kind of wanted to avoid. It would work, but it feels kind of messy (I'd be creating a temporary DatanodeID where a lot of the fields were set to dummy values because {{DatanodeInfo#equals}} doesn't "care" about them, and I don't either.) So I dunno. Maybe there is a better way to do, but it's not obvious to me. > duplicative dfs_hosts entries handled wrong > ------------------------------------------- > > Key: HDFS-3934 > URL: https://issues.apache.org/jira/browse/HDFS-3934 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 2.0.1-alpha > Reporter: Andy Isaacson > Assignee: Colin Patrick McCabe > Priority: Minor > Attachments: HDFS-3934.001.patch, HDFS-3934.002.patch, > HDFS-3934.003.patch, HDFS-3934.004.patch, HDFS-3934.005.patch, > HDFS-3934.006.patch, HDFS-3934.007.patch, HDFS-3934.008.patch, > HDFS-3934.010.patch, HDFS-3934.011.patch, HDFS-3934.012.patch, > HDFS-3934.013.patch, HDFS-3934.014.patch > > > A dead DN listed in dfs_hosts_allow.txt by IP and in dfs_hosts_exclude.txt by > hostname ends up being displayed twice in {{dfsnodelist.jsp?whatNodes=DEAD}} > after the NN restarts because {{getDatanodeListForReport}} does not handle > such a "pseudo-duplicate" correctly: > # the "Remove any nodes we know about from the map" loop no longer has the > knowledge to remove the spurious entries > # the "The remaining nodes are ones that are referenced by the hosts files" > loop does not do hostname lookups, so does not know that the IP and hostname > refer to the same host. > Relatedly, such an IP-based dfs_hosts entry results in a cosmetic problem in > the JSP output: The *Node* column shows ":50010" as the nodename, with HTML > markup {{<a > href="http://:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=%2F&nnaddr=172.29.97.196:8020" > title="172.29.97.216:50010">:50010</a>}}. -- 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