[ 
https://issues.apache.org/jira/browse/HBASE-8640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13672198#comment-13672198
 ] 

rajeshbabu commented on HBASE-8640:
-----------------------------------

[~stack]
Thanks for review.
Earlier if we configure hbase.master.ipc.address then we are trying to resolve 
the hostname two times and also non-null InetSocketAddress check two times. 
First time for hostname of default/configured interface and second time for 
bindaddress of hbase.master.ipc.address property.
In the patch removed duplicate resolve attempt and null check. Still there are 
attempt to resolve and null check.
{code}
    String hostname = conf.get("hbase.master.ipc.address",
      Strings.domainNamePointerToHostName(DNS.getDefaultHost(
        conf.get("hbase.master.dns.interface", "default"),
        conf.get("hbase.master.dns.nameserver", "default"))));
    int port = conf.getInt(HConstants.MASTER_PORT, 
HConstants.DEFAULT_MASTER_PORT);
    // Test that the hostname is reachable
    InetSocketAddress initialIsa = new InetSocketAddress(hostname, port);
    if (initialIsa.getAddress() == null) {
      throw new IllegalArgumentException("Failed resolve of hostname " + 
initialIsa);
    }
{code}
                
> ServerName in master may not initialize with the configured ipc address of 
> hbase.master.ipc.address
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8640
>                 URL: https://issues.apache.org/jira/browse/HBASE-8640
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: rajeshbabu
>            Assignee: rajeshbabu
>             Fix For: 0.98.0, 0.95.2, 0.94.9
>
>         Attachments: HBASE-8640.patch
>
>
> We are starting rpc server with default interface hostname or configured ipc 
> address
> {code}
>     this.rpcServer = HBaseRPC.getServer(this,
>       new Class<?>[]{HMasterInterface.class, HMasterRegionInterface.class},
>         initialIsa.getHostName(), // This is bindAddress if set else it's 
> hostname
>         initialIsa.getPort(),
>         numHandlers,
>         0, // we dont use high priority handlers in master
>         conf.getBoolean("hbase.rpc.verbose", false), conf,
>         0); // this is a DNC w/o high priority handlers
> {code}
> But we are initialzing servername with default hostname always master znode 
> also have this hostname.
> {code}
>     String hostname = Strings.domainNamePointerToHostName(DNS.getDefaultHost(
>       conf.get("hbase.master.dns.interface", "default"),
>       conf.get("hbase.master.dns.nameserver", "default")));
>       ...
>     this.serverName = new ServerName(hostname,
>       this.isa.getPort(), System.currentTimeMillis());
> {code}
> If both default interface hostname and configured ipc address are not same 
> clients will get MasterNotRunningException.

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

Reply via email to