[
https://issues.apache.org/jira/browse/HBASE-7919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ted Yu resolved HBASE-7919.
---------------------------
Resolution: Fixed
> 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
>
> Attachments: HBASE-7919_94.patch
>
>
> 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