DNS hiccups cause uncaught NPE in HServerAddress#getBindAddress
---------------------------------------------------------------
Key: HBASE-2806
URL: https://issues.apache.org/jira/browse/HBASE-2806
Project: HBase
Issue Type: Bug
Reporter: Benoit Sigoure
Assignee: Benoit Sigoure
Priority: Minor
Yesterday at the Hadoop Summit, the "HADOOP" wireless network was using a pair
of DNS servers that couldn't resolve {{localhost.}}. This prevented me from
starting HBase as the construction of the {{HMaster}} was failing with the
following rather cryptic error:
{code}
2010-06-29 14:30:24,603 ERROR org.apache.hadoop.hbase.master.HMaster: Failed to
start master
java.lang.RuntimeException: Failed construction of Master: class
org.apache.hadoop.hbase.master.HMaster$LocalHMasternull
at
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:1217)
at
org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:112)
at org.apache.hadoop.hbase.master.HMaster.doMain(HMaster.java:1298)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1355)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:1215)
... 3 more
Caused by: java.lang.NullPointerException
at
org.apache.hadoop.hbase.HServerAddress.getBindAddress(HServerAddress.java:89)
at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:204)
at
org.apache.hadoop.hbase.master.HMaster$LocalHMaster.<init>(HMaster.java:1230)
... 8 more
{code}
The {{NullPointerException}} in {{getBindAddress}} comes from the following
line of code:
{code:java}
return this.address.getAddress().getHostAddress();
{code}
where {{getAddress()}} was returning {{null}}.
I think the code should check for this case, log an appropriate error message
(to point whoever is going to troubleshoot the problem in the right direction),
and throw something else than an NPE.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.