You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Anoop Sam John (JIRA)" <ji...@apache.org> on 2013/02/23 12:00:12 UTC

[jira] [Created] (HBASE-7919) Wrong key is used in ServerManager#getServerConnection() to retrieve from Map serverConnections

Anoop Sam John created HBASE-7919:
-------------------------------------

             Summary: Wrong key is used in ServerManager#getServerConnection() to retrieve from Map serverConnections
                 Key: HBASE-7919
                 URL: https://issues.apache.org/jira/browse/HBASE-7919
             Project: HBase
          Issue Type: Bug
          Components: master
    Affects Versions: 0.94.0
            Reporter: Anoop Sam John
            Assignee: Anoop Sam John
             Fix For: 0.94.6


ServerManager#getServerConnection() try to retrieve the cached connection from Map serverConnections. ServerName objects are the key with which items are saved in this map. But we use String type to get. This always returns null and in turn the Master creates a new connection with RS again and again.

{code}
private final Map<ServerName, HRegionInterface> serverConnections =
    new HashMap<ServerName, HRegionInterface>();
...........
private HRegionInterface getServerConnection(final ServerName sn)
  throws IOException {
    HRegionInterface hri = this.serverConnections.get(sn.toString());
    if (hri == null) {
      LOG.debug("New connection to " + sn.toString());
      hri = this.connection.getHRegionConnection(sn.getHostname(), sn.getPort());
      this.serverConnections.put(sn, hri);
    }
    return hri;
  }
{code}

--
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