hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From apurt...@apache.org
Subject [1/3] hbase git commit: Revert "HBASE-19131 Add the ClusterStatus hook and cleanup other hooks which can be replaced by ClusterStatus hook"
Date Sun, 05 Nov 2017 18:21:08 GMT
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 9ad69e446 -> 7148982a6


http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
index bb0e63b..03d5123 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.hadoop.hbase.ClusterStatus;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.classification.InterfaceStability;
 import org.apache.hadoop.hbase.Coprocessor;
@@ -675,7 +674,7 @@ public interface MasterObserver extends Coprocessor {
    */
   void postListSnapshot(final ObserverContext<MasterCoprocessorEnvironment> ctx,
       final SnapshotDescription snapshot) throws IOException;
-
+  
   /**
    * Called before a snapshot is cloned.
    * Called as part of restoreSnapshot RPC call.
@@ -922,7 +921,7 @@ public interface MasterObserver extends Coprocessor {
    */
   void postTableFlush(final ObserverContext<MasterCoprocessorEnvironment> ctx,
       final TableName tableName) throws IOException;
-
+  
   /**
    * Called before the quota for the user is stored.
    * @param ctx the environment to interact with the framework and master
@@ -1028,7 +1027,7 @@ public interface MasterObserver extends Coprocessor {
       final String namespace, final Quotas quotas) throws IOException;
 
   /**
-   * Called before dispatching region merge request.
+   * Called before dispatching region merge request. 
    * It can't bypass the default action, e.g., ctx.bypass() won't have effect.
    * @param ctx coprocessor environment
    * @param regionA first region to be merged
@@ -1037,7 +1036,7 @@ public interface MasterObserver extends Coprocessor {
    */
   void preDispatchMerge(final ObserverContext<MasterCoprocessorEnvironment> ctx,
       HRegionInfo regionA, HRegionInfo regionB) throws IOException;
-
+  
   /**
    * called after dispatching the region merge request.
    * @param c coprocessor environment
@@ -1049,15 +1048,14 @@ public interface MasterObserver extends Coprocessor {
       final HRegionInfo regionA, final HRegionInfo regionB) throws IOException;
 
   /**
-   * Called before get cluster status.
+   * Called before list dead region servers.
    */
-  void preGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> ctx) throws
IOException;
+  void preListDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx) throws
IOException;
 
   /**
-   * Called after get cluster status.
+   * Called after list dead region servers.
    */
-  void postGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> ctx,
-      ClusterStatus status) throws IOException;
+  void postListDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx) throws
IOException;
 
   /**
    * Called before clear dead region servers.

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/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 558d303..9b41bbf 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
@@ -828,7 +828,7 @@ public class HMaster extends HRegionServer implements MasterServices,
Server {
 
     //initialize load balancer
     this.balancer.setMasterServices(this);
-    this.balancer.setClusterStatus(getClusterStatusWithoutCoprocessor());
+    this.balancer.setClusterStatus(getClusterStatus());
     this.balancer.initialize();
 
     // Check if master is shutting down because of some issue
@@ -860,7 +860,7 @@ public class HMaster extends HRegionServer implements MasterServices,
Server {
     this.assignmentManager.joinCluster();
 
     // set cluster status again after user regions are assigned
-    this.balancer.setClusterStatus(getClusterStatusWithoutCoprocessor());
+    this.balancer.setClusterStatus(getClusterStatus());
 
     // Start balancer and meta catalog janitor after meta and regions have been assigned.
     status.setStatus("Starting balancer and catalog janitor");
@@ -1488,7 +1488,7 @@ public class HMaster extends HRegionServer implements MasterServices,
Server {
       List<RegionPlan> plans = new ArrayList<RegionPlan>();
 
       //Give the balancer the current cluster state.
-      this.balancer.setClusterStatus(getClusterStatusWithoutCoprocessor());
+      this.balancer.setClusterStatus(getClusterStatus());
       for (Entry<TableName, Map<ServerName, List<HRegionInfo>>> e : assignmentsByTable.entrySet())
{
         List<RegionPlan> partialPlans = this.balancer.balanceCluster(e.getKey(), e.getValue());
         if (partialPlans != null) plans.addAll(partialPlans);
@@ -2404,22 +2404,10 @@ public class HMaster extends HRegionServer implements MasterServices,
Server {
     }
   }
 
-  public ClusterStatus getClusterStatus() throws IOException {
-    if (cpHost != null) {
-      cpHost.preGetClusterStatus();
-    }
-    ClusterStatus status = getClusterStatusWithoutCoprocessor();
-    LOG.info(getClientIdAuditPrefix() + " get ClusterStatus, status=" + status);
-    if (cpHost != null) {
-      cpHost.postGetClusterStatus(status);
-    }
-    return status;
-  }
-
   /**
    * @return cluster status
    */
-  public ClusterStatus getClusterStatusWithoutCoprocessor() throws InterruptedIOException
{
+  public ClusterStatus getClusterStatus() throws InterruptedIOException {
     // Build Set of backup masters from ZK nodes
     List<String> backupMasterStrings;
     try {
@@ -3166,12 +3154,12 @@ public class HMaster extends HRegionServer implements MasterServices,
Server {
 
   @Override
   public long getLastMajorCompactionTimestamp(TableName table) throws IOException {
-    return getClusterStatusWithoutCoprocessor().getLastMajorCompactionTsForTable(table);
+    return getClusterStatus().getLastMajorCompactionTsForTable(table);
   }
 
   @Override
   public long getLastMajorCompactionTimestampForRegion(byte[] regionName) throws IOException
{
-    return getClusterStatusWithoutCoprocessor().getLastMajorCompactionTsForRegion(regionName);
+    return getClusterStatus().getLastMajorCompactionTsForRegion(regionName);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
index c62057a..78c7925 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
@@ -27,7 +27,6 @@ import org.apache.commons.lang.ClassUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.ClusterStatus;
 import org.apache.hadoop.hbase.Coprocessor;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HRegionInfo;
@@ -920,7 +919,7 @@ public class MasterCoprocessorHost
       }
     });
   }
-
+  
   public void preCloneSnapshot(final SnapshotDescription snapshot,
       final HTableDescriptor hTableDescriptor) throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
@@ -1072,7 +1071,7 @@ public class MasterCoprocessorHost
       }
     });
   }
-
+  
   public void preSetUserQuota(final String user, final Quotas quotas) throws IOException
{
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
@@ -1167,7 +1166,7 @@ public class MasterCoprocessorHost
     });
   }
 
-  public void postSetNamespaceQuota(final String namespace, final Quotas quotas)
+  public void postSetNamespaceQuota(final String namespace, final Quotas quotas) 
       throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
@@ -1178,22 +1177,22 @@ public class MasterCoprocessorHost
     });
   }
 
-  public void preGetClusterStatus() throws IOException {
+  public void preListDeadServers() throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment>
ctx)
               throws IOException {
-        oserver.preGetClusterStatus(ctx);
+        oserver.preListDeadServers(ctx);
       }
     });
   }
 
-  public void postGetClusterStatus(final ClusterStatus status) throws IOException {
+  public void postListDeadServers() throws IOException {
     execOperation(coprocessors.isEmpty() ? null : new CoprocessorOperation() {
       @Override
       public void call(MasterObserver oserver, ObserverContext<MasterCoprocessorEnvironment>
ctx)
               throws IOException {
-        oserver.postGetClusterStatus(ctx, status);
+        oserver.postListDeadServers(ctx);
       }
     });
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
index 8cc2c03..738e8fb 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
@@ -125,6 +125,8 @@ import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsRestoreSnapshot
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsRestoreSnapshotDoneResponse;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;
+import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.ListDeadServersRequest;
+import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.ListDeadServersResponse;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.ListProceduresRequest;
@@ -1139,6 +1141,33 @@ public class MasterRpcServices extends RSRpcServices
   }
 
   @Override
+  public ListDeadServersResponse listDeadServers(RpcController controller,
+      ListDeadServersRequest request) throws ServiceException {
+
+    LOG.debug(master.getClientIdAuditPrefix() + " list dead region servers.");
+    ListDeadServersResponse.Builder response = ListDeadServersResponse.newBuilder();
+    try {
+      master.checkInitialized();
+      if (master.cpHost != null) {
+        master.cpHost.preListDeadServers();
+      }
+
+      Set<ServerName> servers = master.getServerManager().getDeadServers().copyServerNames();
+      for (ServerName server : servers) {
+        response.addServerName(ProtobufUtil.toServerName(server));
+      }
+
+      if (master.cpHost != null) {
+        master.cpHost.postListDeadServers();
+      }
+    } catch (IOException io) {
+      throw new ServiceException(io);
+    }
+
+    return response.build();
+  }
+
+  @Override
   public ClearDeadServersResponse clearDeadServers(RpcController controller,
       ClearDeadServersRequest request) throws ServiceException {
     LOG.debug(master.getClientIdAuditPrefix() + " clear dead region servers.");

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.java
index 8f3e523..58e5808 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.java
@@ -46,7 +46,7 @@ public class ClusterStatusChore extends ScheduledChore {
   @Override
   protected void chore() {
     try {
-      balancer.setClusterStatus(master.getClusterStatusWithoutCoprocessor());
+      balancer.setClusterStatus(master.getClusterStatus());
     } catch (InterruptedIOException e) {
       LOG.warn("Ignoring interruption", e);
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
index 17da4a0..550b98e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
@@ -37,7 +37,6 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellScanner;
 import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.ClusterStatus;
 import org.apache.hadoop.hbase.CompoundConfiguration;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
@@ -771,7 +770,7 @@ public class AccessController extends BaseMasterAndRegionObserver
           }
         }
       } else if (entry.getValue() == null) {
-        get.addFamily(col);
+        get.addFamily(col);        
       } else {
         throw new RuntimeException("Unhandled collection type " +
           entry.getValue().getClass().getName());
@@ -1339,7 +1338,7 @@ public class AccessController extends BaseMasterAndRegionObserver
       requirePermission("listSnapshot " + snapshot.getName(), Action.ADMIN);
     }
   }
-
+  
   @Override
   public void preCloneSnapshot(final ObserverContext<MasterCoprocessorEnvironment>
ctx,
       final SnapshotDescription snapshot, final HTableDescriptor hTableDescriptor)
@@ -1413,7 +1412,7 @@ public class AccessController extends BaseMasterAndRegionObserver
   @Override
   public void preModifyNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx,
       NamespaceDescriptor ns) throws IOException {
-    // We require only global permission so that
+    // We require only global permission so that 
     // a user with NS admin cannot altering namespace configurations. i.e. namespace quota
     requireGlobalPermission("modifyNamespace", Action.ADMIN, ns.getName());
   }
@@ -2607,6 +2606,14 @@ public class AccessController extends BaseMasterAndRegionObserver
   }
 
   @Override
+  public void preListDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx)
+      throws IOException { }
+
+  @Override
+  public void postListDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx)
+      throws IOException { }
+
+  @Override
   public void preClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx)
       throws IOException {
     requirePermission("clearDeadServers", Action.ADMIN);
@@ -2669,7 +2676,7 @@ public class AccessController extends BaseMasterAndRegionObserver
   public void postReplicateLogEntries(ObserverContext<RegionServerCoprocessorEnvironment>
ctx,
       List<WALEntry> entries, CellScanner cells) throws IOException {
   }
-
+  
   @Override
   public void preSetUserQuota(final ObserverContext<MasterCoprocessorEnvironment> ctx,
       final String userName, final Quotas quotas) throws IOException {
@@ -2735,10 +2742,4 @@ public class AccessController extends BaseMasterAndRegionObserver
       String groupName) throws IOException {
     requirePermission("balanceRSGroup", Action.ADMIN);
   }
-
-  @Override
-  public void preGetClusterStatus(final ObserverContext<MasterCoprocessorEnvironment>
ctx)
-      throws IOException {
-    requirePermission("getClusterStatus", Action.ADMIN);
-  }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
deleted file mode 100644
index 197b0d9..0000000
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hbase.client;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.ClusterStatus;
-import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.MiniHBaseCluster;
-import org.apache.hadoop.hbase.ServerName;
-import org.apache.hadoop.hbase.coprocessor.BaseMasterObserver;
-import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
-import org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment;
-import org.apache.hadoop.hbase.coprocessor.ObserverContext;
-import org.apache.hadoop.hbase.master.HMaster;
-import org.apache.hadoop.hbase.regionserver.HRegionServer;
-import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;
-import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-/**
- * Test the ClusterStatus.
- */
-@Category(SmallTests.class)
-public class TestClientClusterStatus {
-  private static HBaseTestingUtility UTIL;
-  private static HBaseAdmin ADMIN;
-  private final static int SLAVES = 5;
-  private final static int MASTERS = 3;
-  private static MiniHBaseCluster CLUSTER;
-  private static HRegionServer DEAD;
-
-  @BeforeClass
-  public static void setUpBeforeClass() throws Exception {
-    Configuration conf = HBaseConfiguration.create();
-    conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY, MyObserver.class.getName());
-    UTIL = new HBaseTestingUtility(conf);
-    UTIL.startMiniCluster(MASTERS, SLAVES);
-    CLUSTER = UTIL.getHBaseCluster();
-    CLUSTER.waitForActiveAndReadyMaster();
-    ADMIN = UTIL.getHBaseAdmin();
-    // Kill one region server
-    List<RegionServerThread> rsts = CLUSTER.getLiveRegionServerThreads();
-    RegionServerThread rst = rsts.get(rsts.size() - 1);
-    DEAD = rst.getRegionServer();
-    DEAD.stop("Test dead servers status");
-    while (rst.isAlive()) {
-      Thread.sleep(500);
-    }
-  }
-
-  @Test
-  public void testDefaults() throws Exception {
-    ClusterStatus origin = ADMIN.getClusterStatus();
-    ClusterStatus defaults = ADMIN.getClusterStatus();
-    Assert.assertEquals(origin.getHBaseVersion(), defaults.getHBaseVersion());
-    Assert.assertEquals(origin.getClusterId(), defaults.getClusterId());
-    Assert.assertTrue(origin.getAverageLoad() == defaults.getAverageLoad());
-    Assert.assertTrue(origin.getBackupMastersSize() == defaults.getBackupMastersSize());
-    Assert.assertTrue(origin.getDeadServers() == defaults.getDeadServers());
-    Assert.assertTrue(origin.getRegionsCount() == defaults.getRegionsCount());
-    Assert.assertTrue(origin.getServersSize() == defaults.getServersSize());
-    Assert.assertTrue(origin.equals(defaults));
-  }
-
-
-  @Test
-  public void testLiveAndDeadServersStatus() throws Exception {
-    List<RegionServerThread> regionserverThreads = CLUSTER.getLiveRegionServerThreads();
-    int numRs = 0;
-    int len = regionserverThreads.size();
-    for (int i = 0; i < len; i++) {
-      if (regionserverThreads.get(i).isAlive()) {
-        numRs++;
-      }
-    }
-    // Retrieve live servers and dead servers info.
-    ClusterStatus status = ADMIN.getClusterStatus();
-    Assert.assertNotNull(status);
-    Assert.assertNotNull(status.getServers());
-    // exclude a dead region server
-    Assert.assertEquals(SLAVES -1, numRs);
-    // live servers = nums of regionservers
-    // By default, HMaster don't carry any regions so it won't report its load.
-    // Hence, it won't be in the server list.
-    Assert.assertEquals(status.getServers().size(), numRs);
-    Assert.assertTrue(status.getRegionsCount() > 0);
-    Assert.assertNotNull(status.getDeadServerNames());
-    Assert.assertEquals(1, status.getDeadServers());
-    ServerName deadServerName = status.getDeadServerNames().iterator().next();
-    Assert.assertEquals(DEAD.getServerName(), deadServerName);
-  }
-
-  @Test
-  public void testMasterAndBackupMastersStatus() throws Exception {
-    // get all the master threads
-    List<MasterThread> masterThreads = CLUSTER.getMasterThreads();
-    int numActive = 0;
-    int activeIndex = 0;
-    ServerName activeName = null;
-    HMaster active = null;
-    for (int i = 0; i < masterThreads.size(); i++) {
-      if (masterThreads.get(i).getMaster().isActiveMaster()) {
-        numActive++;
-        activeIndex = i;
-        active = masterThreads.get(activeIndex).getMaster();
-        activeName = active.getServerName();
-      }
-    }
-    Assert.assertNotNull(active);
-    Assert.assertEquals(1, numActive);
-    Assert.assertEquals(MASTERS, masterThreads.size());
-    // Retrieve master and backup masters infos only.
-    ClusterStatus status = ADMIN.getClusterStatus();
-    Assert.assertTrue(status.getMaster().equals(activeName));
-    Assert.assertEquals(MASTERS - 1, status.getBackupMastersSize());
-  }
-
-  @Test
-  public void testOtherStatusInfos() throws Exception {
-    ClusterStatus status = ADMIN.getClusterStatus();
-    Assert.assertTrue(status.getMasterCoprocessors().length == 1);
-    Assert.assertNotNull(status.getHBaseVersion());
-    Assert.assertNotNull(status.getClusterId());
-    Assert.assertNotNull(status.getBalancerOn());
-  }
-
-  @AfterClass
-  public static void tearDownAfterClass() throws Exception {
-    if (ADMIN != null) ADMIN.close();
-    UTIL.shutdownMiniCluster();
-  }
-
-  @Test
-  public void testObserver() throws IOException {
-    int preCount = MyObserver.PRE_COUNT.get();
-    int postCount = MyObserver.POST_COUNT.get();
-    boolean find = false;
-    for (String s : ADMIN.getClusterStatus().getMasterCoprocessors()) {
-      if (s.equals(MyObserver.class.getSimpleName())) {
-        find = true;
-      }
-    }
-    Assert.assertTrue(find);
-    Assert.assertEquals(preCount + 1, MyObserver.PRE_COUNT.get());
-    Assert.assertEquals(postCount + 1, MyObserver.POST_COUNT.get());
-  }
-
-  public static class MyObserver extends BaseMasterObserver {
-    private static final AtomicInteger PRE_COUNT = new AtomicInteger(0);
-    private static final AtomicInteger POST_COUNT = new AtomicInteger(0);
-
-
-    @Override
-    public void preGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> ctx)
-      throws IOException {
-      PRE_COUNT.incrementAndGet();
-    }
-
-    @Override public void postGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment>
ctx,
-      ClusterStatus status) throws IOException {
-      POST_COUNT.incrementAndGet();
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
index eb62a35..b20d7bc 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
@@ -36,7 +36,6 @@ import java.util.concurrent.CountDownLatch;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.ClusterStatus;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HColumnDescriptor;
@@ -273,13 +272,13 @@ public class TestMasterObserver {
     }
 
     @Override
-    public void preGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> ctx)
+    public void preListDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx)
         throws IOException {
     }
 
     @Override
-    public void postGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment>
ctx,
-        ClusterStatus status) throws IOException {
+    public void postListDeadServers(ObserverContext<MasterCoprocessorEnvironment> ctx)
+        throws IOException {
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
index daeba9a..38960f7 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
@@ -1568,7 +1568,7 @@ public class TestSplitTransactionOnCluster {
     }
   }
 
-  private void waitUntilRegionServerDead() throws InterruptedException, IOException {
+  private void waitUntilRegionServerDead() throws InterruptedException, InterruptedIOException
{
     // Wait until the master processes the RS shutdown
     for (int i=0; cluster.getMaster().getClusterStatus().
         getServers().size() > NB_SERVERS && i<100; i++) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/7148982a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
index 5770a41..5aedbf8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
@@ -3040,18 +3040,4 @@ public class TestAccessController extends SecureTestUtil {
     verifyAllowed(action1, SUPERUSER, USER_ADMIN);
     verifyDenied(action1, USER_CREATE, USER_RW, USER_RO, USER_NONE, USER_OWNER);
   }
-
-  @Test
-  public void testGetClusterStatus() throws Exception {
-    AccessTestAction action = new AccessTestAction() {
-      @Override
-      public Object run() throws Exception {
-      ACCESS_CONTROLLER.preGetClusterStatus(ObserverContext.createAndPrepare(CP_ENV, null));
-      return null;
-      }
-    };
-
-    verifyAllowed(action, SUPERUSER, USER_ADMIN);
-    verifyDenied(action, USER_CREATE, USER_RW, USER_RO, USER_NONE, USER_OWNER);
-  }
 }


Mime
View raw message