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

Todd Lipcon commented on HDFS-3934:
-----------------------------------

Quick notes on the patch:

- Why are you using the visitor pattern instead of just exposing getters from 
the reader class? Doesn't seem like there's much you're gaining out of it, 
since it's just a simple iteration over a list. If you're worried about 
exposing internal state, you could make the fields of the reader class 
ImmutableMaps -- it looks like they're atomically replaced by refresh() anyway.

- Seems like the refresh code could avoid synchronization until the point where 
the new maps are swapped in -- otherwise if the disk is slow during 
refreshNodes, or the DNS is slow, any other operations will end up blocking

- New file is missing interface audience and license

I'll let Daryn or someone else who knows this area of the code a bit better 
comment on whether the fix is actually semantically correct.

                
> 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: Andy Isaacson
>            Priority: Minor
>         Attachments: HDFS-3934.001.patch, HDFS-3934.002.patch, 
> HDFS-3934.003.patch, HDFS-3934.004.patch, HDFS-3934.005.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&amp;dir=%2F&amp;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

Reply via email to