From 94cde5a630a8aadc83425e6ca12c82ea61b64eae Mon Sep 17 00:00:00 2001 From: Matt Warhaftig Date: Mon, 20 Jul 2015 22:41:29 -0400 Subject: [PATCH] HBASE-14708 Clarify HMaster bind exception error message. --- .../src/main/java/org/apache/hadoop/hbase/master/HMaster.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index bc52edb..c86eb3a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InterruptedIOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.net.BindException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; @@ -2255,8 +2256,12 @@ public class HMaster extends HRegionServer implements MasterServices, Server { Throwable target = ite.getTargetException() != null? ite.getTargetException(): ite; if (target.getCause() != null) target = target.getCause(); - throw new RuntimeException("Failed construction of Master: " + - masterClass.toString(), target); + String message = "Failed construction of Master: " + masterClass.toString(); + if (target instanceof BindException || target instanceof UnknownHostException){ + message = message + ". " + ite.getTargetException().getMessage() + ". To switch " + + "addresses use the 'hbase.master.hostname' configuration property."; + } + throw new RuntimeException(message, target); } catch (Exception e) { throw new RuntimeException("Failed construction of Master: " + masterClass.toString() + ((e.getCause() != null)? -- 2.3.2 (Apple Git-55)