hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Weihua Jiang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-4074) When a RS has hostname with uppercase letter, there are two RS entries in master
Date Thu, 07 Jul 2011 07:55:17 GMT

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

Weihua Jiang updated HBASE-4074:

    Attachment: 4074.patch

A patch based on 0.90.3. 

The basic idea is to use DNS-resolved hostname. 

It fixed the problem in our environment.

> When a RS has hostname with uppercase letter, there are two RS entries in master
> --------------------------------------------------------------------------------
>                 Key: HBASE-4074
>                 URL: https://issues.apache.org/jira/browse/HBASE-4074
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.1, 0.90.2, 0.90.3
>            Reporter: Weihua Jiang
>         Attachments: 4074.patch
> When a RS has uppercase letter in its hostname, e.g. Harpertown08-15.sh.intel.com. Then,
there will be two RS entries in master report, they are
>  harpertown08-15.sh.intel.com
>  Harpertown08-15.sh.intel.com
> This leads to wrong region allocation.
> This problem is caused by the implementation of java.net.InetSocketAddress.
> The logic is:
> 1. RS Harpertown08-15.sh.intel.com sends its DNS resolved hostname harpertown08-15.sh.intel.com
to master for registration in HRegionServer.reportForDuty().
> 2. Master handles it and returns harpertown08-15.sh.intel.com via HServerAddress object
to RS to notify it this new name (actually the same as the one reported by RS).
> 3. HServerAddress deserialize this object by first read out hostname as string ("harpertown08-15.sh.intel.com")
and construct a InetSocketAddress object.
> 4. RS get the new name by call this InetSocketAddress.getHostName() method which returns
Harpertown08-15.sh.intel.com instead.
> 5. In latter hearbeat communication (HRegionServer.tryRegionServerReport()), RS uses
this new name (Harpertown08-15.sh.intel.com) to report to master and master regard it as a
new RS. Thus, two RS entries exist. 

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message