Repository: hbase
Updated Branches:
  refs/heads/branch-1 2097f88eb -> d7283ae8d


HBASE-12119 Master regionserver web UI NOT_FOUND


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d7283ae8
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d7283ae8
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d7283ae8

Branch: refs/heads/branch-1
Commit: d7283ae8d51dc7f187130f9acded15de4a8fe088
Parents: 2097f88
Author: Jimmy Xiang <[email protected]>
Authored: Tue Sep 30 10:15:18 2014 -0700
Committer: Jimmy Xiang <[email protected]>
Committed: Tue Sep 30 14:48:07 2014 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/hadoop/hbase/master/HMaster.java | 10 +++-------
 .../org/apache/hadoop/hbase/master/ServerManager.java     |  3 ++-
 .../hadoop/hbase/master/balancer/BaseLoadBalancer.java    | 10 +++++++++-
 3 files changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d7283ae8/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
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 7f041ff..95f831f 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
@@ -226,9 +226,6 @@ public class HMaster extends HRegionServer implements 
MasterServices, Server {
   // monitor for distributed procedures
   MasterProcedureManagerHost mpmHost;
 
-  // A flag to indicate if any table is configured to put on the active master
-  protected final boolean tablesOnMaster;
-
   /** flag used in test cases in order to simulate RS failures during master 
initialization */
   private volatile boolean initializationBeforeMetaAssignment = false;
 
@@ -286,8 +283,6 @@ public class HMaster extends HRegionServer implements 
MasterServices, Server {
     this.masterCheckCompression = 
conf.getBoolean("hbase.master.check.compression", true);
 
     this.metricsMaster = new MetricsMaster( new 
MetricsMasterWrapperImpl(this));
-    String[] tablesOnMaster = BaseLoadBalancer.getTablesOnMaster(conf);
-    this.tablesOnMaster = tablesOnMaster != null && tablesOnMaster.length > 0;
 
     // Do we publish the status?
     boolean shouldPublish = conf.getBoolean(HConstants.STATUS_PUBLISHED,
@@ -356,6 +351,7 @@ public class HMaster extends HRegionServer implements 
MasterServices, Server {
    * Otherwise, loop till the server is stopped or aborted.
    */
   protected void waitForMasterActive(){
+    boolean tablesOnMaster = BaseLoadBalancer.tablesOnMaster(conf);
     while (!(tablesOnMaster && isActiveMaster)
         && !isStopped() && !isAborted()) {
       sleeper.sleep();
@@ -390,7 +386,7 @@ public class HMaster extends HRegionServer implements 
MasterServices, Server {
   protected void configureInfoServer() {
     infoServer.addServlet("master-status", "/master-status", 
MasterStatusServlet.class);
     infoServer.setAttribute(MASTER, this);
-    if (tablesOnMaster) {
+    if (BaseLoadBalancer.tablesOnMaster(conf)) {
       super.configureInfoServer();
     }
   }
@@ -568,7 +564,7 @@ public class HMaster extends HRegionServer implements 
MasterServices, Server {
     this.initializationBeforeMetaAssignment = true;
 
     // Wait for regionserver to finish initialization.
-    if (tablesOnMaster) {
+    if (BaseLoadBalancer.tablesOnMaster(conf)) {
       waitForServerOnline();
     }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/d7283ae8/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
index 8ff1a3c..6274325 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
@@ -49,6 +49,7 @@ import org.apache.hadoop.hbase.ZooKeeperConnectionException;
 import org.apache.hadoop.hbase.client.HConnection;
 import org.apache.hadoop.hbase.client.HConnectionManager;
 import org.apache.hadoop.hbase.client.RetriesExhaustedException;
+import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;
 import org.apache.hadoop.hbase.master.handler.MetaServerShutdownHandler;
 import org.apache.hadoop.hbase.master.handler.ServerShutdownHandler;
 import org.apache.hadoop.hbase.monitoring.MonitoredTask;
@@ -863,7 +864,7 @@ public class ServerManager {
     final long timeout = this.master.getConfiguration().
       getLong(WAIT_ON_REGIONSERVERS_TIMEOUT, 4500);
     int defaultMinToStart = 1;
-    if (((HMaster)services).tablesOnMaster) {
+    if (BaseLoadBalancer.tablesOnMaster(master.getConfiguration())) {
       // If we assign regions to master, we'd like to start
       // at least another region server so that we don't
       // assign all regions to master if other region servers

http://git-wip-us.apache.org/repos/asf/hbase/blob/d7283ae8/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
index fad18e7..6522e6e 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
@@ -832,7 +832,7 @@ public abstract class BaseLoadBalancer implements 
LoadBalancer {
   protected ServerName masterServerName;
   protected MasterServices services;
 
-  public static String[] getTablesOnMaster(Configuration conf) {
+  protected static String[] getTablesOnMaster(Configuration conf) {
     String valueString = conf.get(TABLES_ON_MASTER);
     if (valueString != null) {
       valueString = valueString.trim();
@@ -843,6 +843,14 @@ public abstract class BaseLoadBalancer implements 
LoadBalancer {
     return StringUtils.getStrings(valueString);
   }
 
+  /**
+   * Check if configured to put any tables on the active master
+   */
+  public static boolean tablesOnMaster(Configuration conf) {
+    String[] tables = getTablesOnMaster(conf);
+    return tables != null && tables.length > 0;
+  }
+
   @Override
   public void setConf(Configuration conf) {
     setSlop(conf);

Reply via email to