Repository: hbase Updated Branches: refs/heads/branch-1 c590ebba0 -> aae12e847
HBASE-20109 Add Admin#getMaster API to branch-1 Signed-off-by: Chia-Ping Tsai <chia7...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/aae12e84 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/aae12e84 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/aae12e84 Branch: refs/heads/branch-1 Commit: aae12e8470a0232b0e43010dfadcbdffcaff0339 Parents: c590ebb Author: Andrew Purtell <apurt...@apache.org> Authored: Fri Mar 2 11:39:43 2018 -0800 Committer: Andrew Purtell <apurt...@apache.org> Committed: Fri Mar 2 11:39:43 2018 -0800 ---------------------------------------------------------------------- .../java/org/apache/hadoop/hbase/client/Admin.java | 6 ++++++ .../org/apache/hadoop/hbase/client/HBaseAdmin.java | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/aae12e84/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java index 4aadd30..8f5e150 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java @@ -1545,6 +1545,12 @@ public interface Admin extends Abortable, Closeable { void updateConfiguration() throws IOException; /** + * @return current master server name + * @throws IOException if a remote or network exception occurs + */ + ServerName getMaster() throws IOException; + + /** * Get the info port of the current master if one is available. * @return master info port * @throws IOException http://git-wip-us.apache.org/repos/asf/hbase/blob/aae12e84/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java index 507c6fb..d68add6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java @@ -4542,9 +4542,24 @@ public class HBaseAdmin implements Admin { } } + /** + * @return current master server name + * @throws IOException if a remote or network exception occurs + */ + @Override + public ServerName getMaster() throws IOException { + ConnectionManager.HConnectionImplementation connection = + (ConnectionManager.HConnectionImplementation)this.connection; + ZooKeeperKeepAliveConnection zkw = connection.getKeepAliveZooKeeperWatcher(); + try { + return MasterAddressTracker.getMasterAddress(zkw); + } catch (Exception e) { + throw new IOException("Failed to get master address from MasterAddressTracker", e); + } + } + @Override public int getMasterInfoPort() throws IOException { - // TODO: Fix! Reaching into internal implementation!!!! ConnectionManager.HConnectionImplementation connection = (ConnectionManager.HConnectionImplementation)this.connection; ZooKeeperKeepAliveConnection zkw = connection.getKeepAliveZooKeeperWatcher();