You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Thiruvel Thirumoolan (JIRA)" <ji...@apache.org> on 2017/02/01 07:33:51 UTC

[jira] [Updated] (HBASE-17281) FN should use datanode port from hdfs configuration

     [ https://issues.apache.org/jira/browse/HBASE-17281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thiruvel Thirumoolan updated HBASE-17281:
-----------------------------------------
    Attachment: HBASE-17281.master.005.patch

> FN should use datanode port from hdfs configuration
> ---------------------------------------------------
>
>                 Key: HBASE-17281
>                 URL: https://issues.apache.org/jira/browse/HBASE-17281
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Thiruvel Thirumoolan
>            Assignee: Thiruvel Thirumoolan
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17281.master.001.patch, HBASE-17281.master.002.patch, HBASE-17281.master.003.patch, HBASE-17281.master.004.patch, HBASE-17281.master.005.patch
>
>
> Currently we use the ServerName port for providing favored node hints. We should use the DN port from hdfs-site.xml instead to avoid warning messages in region server logs. The warnings will be from this section of HDFS code, it moves across classes.
> https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DataStreamer.java#L1758
> {code}
>   private boolean[] getPinnings(DatanodeInfo[] nodes) {
>     if (favoredNodes == null) {
>       return null;
>     } else {
>       boolean[] pinnings = new boolean[nodes.length];
>       HashSet<String> favoredSet = new HashSet<>(Arrays.asList(favoredNodes));
>       for (int i = 0; i < nodes.length; i++) {
>         pinnings[i] = favoredSet.remove(nodes[i].getXferAddrWithHostname());
>         LOG.debug("{} was chosen by name node (favored={}).",
>             nodes[i].getXferAddrWithHostname(), pinnings[i]);
>       }
>       if (!favoredSet.isEmpty()) {
>         // There is one or more favored nodes that were not allocated.
>         LOG.warn("These favored nodes were specified but not chosen: "
>             + favoredSet + " Specified favored nodes: "
>             + Arrays.toString(favoredNodes));
>       }
>       return pinnings;
>     }
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)