You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Haohui Mai (JIRA)" <ji...@apache.org> on 2014/12/10 08:25:12 UTC

[jira] [Created] (HADOOP-11387) Simplify NetUtils#canonicalizeHost()

Haohui Mai created HADOOP-11387:
-----------------------------------

             Summary: Simplify NetUtils#canonicalizeHost()
                 Key: HADOOP-11387
                 URL: https://issues.apache.org/jira/browse/HADOOP-11387
             Project: Hadoop Common
          Issue Type: Bug
            Reporter: Haohui Mai
            Assignee: Haohui Mai


Currently {{NetUtils#canonicalizeHost}} uses a {{ConcurrentHashMap}} to cache the canonicalized hostname.

{code}
  private static String canonicalizeHost(String host) {
    // check if the host has already been canonicalized
    String fqHost = canonicalizedHostCache.get(host);
    if (fqHost == null) {
      try {
        fqHost = SecurityUtil.getByName(host).getHostName();
        // slight race condition, but won't hurt
        canonicalizedHostCache.put(host, fqHost);
      } catch (UnknownHostException e) {
        fqHost = host;
      }
    }
    return fqHost;
  }
{code}

The code can be simplified using {{CacheMap}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)