[
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