You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jx...@apache.org on 2014/03/25 20:34:55 UTC

svn commit: r1581479 [7/9] - in /hbase/trunk: hbase-client/src/main/java/org/apache/hadoop/hbase/catalog/ hbase-client/src/main/java/org/apache/hadoop/hbase/client/ hbase-it/src/test/java/org/apache/hadoop/hbase/ hbase-it/src/test/java/org/apache/hadoo...

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java Tue Mar 25 19:34:52 2014
@@ -42,7 +42,6 @@ import org.apache.hadoop.hbase.catalog.C
 import org.apache.hadoop.hbase.catalog.MetaEditor;
 import org.apache.hadoop.hbase.catalog.MetaReader;
 import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.Mutation;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.executor.EventType;
@@ -240,7 +239,8 @@ public class RegionMergeTransaction {
   public HRegion execute(final Server server,
       final RegionServerServices services) throws IOException {
     if (rsCoprocessorHost == null) {
-      rsCoprocessorHost = server != null ? ((HRegionServer) server).getCoprocessorHost() : null;
+      rsCoprocessorHost = server != null ?
+        ((HRegionServer) server).getRegionServerCoprocessorHost() : null;
     }
     HRegion mergedRegion = createMergedRegion(server, services);
     if (rsCoprocessorHost != null) {

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java Tue Mar 25 19:34:52 2014
@@ -18,27 +18,26 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
+import java.io.IOException;
+import java.util.Map;
+import java.util.concurrent.ConcurrentMap;
+
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.catalog.CatalogTracker;
 import org.apache.hadoop.hbase.executor.ExecutorService;
-import org.apache.hadoop.hbase.ipc.PriorityFunction;
 import org.apache.hadoop.hbase.ipc.RpcServerInterface;
 import org.apache.hadoop.hbase.master.TableLockManager;
 import org.apache.hadoop.hbase.regionserver.wal.HLog;
 import org.apache.zookeeper.KeeperException;
 
-import java.io.IOException;
-import java.util.Map;
-import java.util.concurrent.ConcurrentMap;
-
 /**
  * Services provided by {@link HRegionServer}
  */
 @InterfaceAudience.Private
 public interface RegionServerServices
-    extends OnlineRegions, FavoredNodesForRegion, PriorityFunction {
+    extends OnlineRegions, FavoredNodesForRegion {
   /**
    * @return True if this regionserver is stopping.
    */

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.java Tue Mar 25 19:34:52 2014
@@ -18,21 +18,16 @@
 package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.ipc.PriorityFunction;
 import org.apache.hadoop.hbase.ipc.RpcScheduler;
 
 /**
- * A factory class that constructs an {@link org.apache.hadoop.hbase.ipc.RpcScheduler} for
- * a region server.
+ * A factory class that constructs an {@link org.apache.hadoop.hbase.ipc.RpcScheduler}.
  */
 public interface RpcSchedulerFactory {
 
   /**
    * Constructs a {@link org.apache.hadoop.hbase.ipc.RpcScheduler}.
-   *
-   * Please note that this method is called in constructor of {@link HRegionServer}, so some
-   * fields may not be ready for access. The reason that {@code HRegionServer} is passed as
-   * parameter here is that an RPC scheduler may need to access data structure inside
-   * {@code HRegionServer} (see example in {@link SimpleRpcSchedulerFactory}).
    */
-  RpcScheduler create(Configuration conf, RegionServerServices server);
+  RpcScheduler create(Configuration conf, PriorityFunction priority);
 }

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.java Tue Mar 25 19:34:52 2014
@@ -19,14 +19,15 @@ package org.apache.hadoop.hbase.regionse
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.ipc.PriorityFunction;
 import org.apache.hadoop.hbase.ipc.RpcScheduler;
 import org.apache.hadoop.hbase.ipc.SimpleRpcScheduler;
 
-/** Constructs a {@link SimpleRpcScheduler}. for the region server. */
+/** Constructs a {@link SimpleRpcScheduler}. */
 class SimpleRpcSchedulerFactory implements RpcSchedulerFactory {
 
   @Override
-  public RpcScheduler create(Configuration conf, RegionServerServices server) {
+  public RpcScheduler create(Configuration conf, PriorityFunction priority) {
     int handlerCount = conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,
         HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT);
     return new SimpleRpcScheduler(
@@ -36,7 +37,7 @@ class SimpleRpcSchedulerFactory implemen
             HConstants.DEFAULT_REGION_SERVER_META_HANDLER_COUNT),
         conf.getInt(HConstants.REGION_SERVER_REPLICATION_HANDLER_COUNT,
             HConstants.DEFAULT_REGION_SERVER_REPLICATION_HANDLER_COUNT),
-        server,
+        priority,
         HConstants.QOS_THRESHOLD);
   }
 }

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/JVMClusterUtil.java Tue Mar 25 19:34:52 2014
@@ -29,10 +29,8 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
-import org.apache.hadoop.hbase.regionserver.ShutdownHook;
 import org.apache.hadoop.util.ReflectionUtils;
 
 /**
@@ -195,9 +193,6 @@ public class JVMClusterUtil {
 
     if (regionservers != null) {
       for (JVMClusterUtil.RegionServerThread t: regionservers) {
-        HRegionServer hrs = t.getRegionServer();
-        ShutdownHook.install(hrs.getConfiguration(), FileSystem.get(hrs
-                .getConfiguration()), hrs, t);
         t.start();
       }
     }

Modified: hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/zk.jsp
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/zk.jsp?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/zk.jsp (original)
+++ hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/zk.jsp Tue Mar 25 19:34:52 2014
@@ -23,7 +23,7 @@
   import="org.apache.hadoop.hbase.HBaseConfiguration"
   import="org.apache.hadoop.hbase.master.HMaster"%><%
   HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
-  ZooKeeperWatcher watcher = master.getZooKeeperWatcher();
+  ZooKeeperWatcher watcher = master.getZooKeeper();
 %>
 <!--[if IE]>
 <!DOCTYPE html>

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java Tue Mar 25 19:34:52 2014
@@ -97,7 +97,7 @@ public abstract class HBaseCluster imple
   /**
    * Returns an {@link MasterAdminService.BlockingInterface} to the active master
    */
-  public abstract MasterService.BlockingInterface getMaster()
+  public abstract MasterService.BlockingInterface getMasterAdminService()
   throws IOException;
 
   /**

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java Tue Mar 25 19:34:52 2014
@@ -40,6 +40,7 @@ import java.util.Map;
 import java.util.NavigableSet;
 import java.util.Random;
 import java.util.Set;
+import java.util.TreeSet;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
@@ -75,12 +76,14 @@ import org.apache.hadoop.hbase.mapreduce
 import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.master.RegionStates;
 import org.apache.hadoop.hbase.master.ServerManager;
+import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.regionserver.BloomType;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.regionserver.HStore;
 import org.apache.hadoop.hbase.regionserver.InternalScanner;
 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
+import org.apache.hadoop.hbase.regionserver.RegionServerStoppedException;
 import org.apache.hadoop.hbase.regionserver.wal.HLog;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.tool.Canary;
@@ -88,6 +91,7 @@ import org.apache.hadoop.hbase.util.Byte
 import org.apache.hadoop.hbase.util.FSUtils;
 import org.apache.hadoop.hbase.util.JVMClusterUtil;
 import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;
+import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
 import org.apache.hadoop.hbase.util.RegionSplitter;
 import org.apache.hadoop.hbase.util.RetryCounter;
 import org.apache.hadoop.hbase.util.Threads;
@@ -124,6 +128,7 @@ import org.apache.zookeeper.ZooKeeper.St
  */
 @InterfaceAudience.Public
 @InterfaceStability.Evolving
+@SuppressWarnings("deprecation")
 public class HBaseTestingUtility extends HBaseCommonTestingUtility {
    private MiniZooKeeperCluster zkCluster = null;
 
@@ -1928,7 +1933,6 @@ public class HBaseTestingUtility extends
     return createMultiRegions(c, table, family, regionStartKeys);
   }
 
-  @SuppressWarnings("deprecation")
   public int createMultiRegions(final Configuration c, final HTable table,
       final byte[] columnFamily, byte [][] startKeys)
   throws IOException {
@@ -2740,6 +2744,32 @@ public class HBaseTestingUtility extends
     return user;
   }
 
+  public static NavigableSet<String> getAllOnlineRegions(MiniHBaseCluster cluster)
+      throws IOException {
+    NavigableSet<String> online = new TreeSet<String>();
+    for (RegionServerThread rst : cluster.getLiveRegionServerThreads()) {
+      try {
+        for (HRegionInfo region :
+            ProtobufUtil.getOnlineRegions(rst.getRegionServer().getRSRpcServices())) {
+          online.add(region.getRegionNameAsString());
+        }
+      } catch (RegionServerStoppedException e) {
+        // That's fine.
+      }
+    }
+    for (MasterThread mt : cluster.getLiveMasterThreads()) {
+      try {
+        for (HRegionInfo region :
+            ProtobufUtil.getOnlineRegions(mt.getMaster().getRSRpcServices())) {
+          online.add(region.getRegionNameAsString());
+        }
+      } catch (RegionServerStoppedException e) {
+        // That's fine.
+      }
+    }
+    return online;
+  }
+
   /**
    * Set maxRecoveryErrorCount in DFSClient.  In 0.20 pre-append its hard-coded to 5 and
    * makes tests linger.  Here is the exception you'll see:

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java Tue Mar 25 19:34:52 2014
@@ -33,6 +33,7 @@ import org.apache.hadoop.hbase.client.HC
 import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.AdminService;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;
+import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.MasterService;
 import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
@@ -379,11 +380,32 @@ public class MiniHBaseCluster extends HB
    * Returns the current active master, if available.
    * @return the active HMaster, null if none is active.
    */
+  public MasterService.BlockingInterface getMasterAdminService() {
+    return this.hbaseCluster.getActiveMaster().getMasterRpcServices();
+  }
+
+  /**
+   * Returns the current active master, if available.
+   * @return the active HMaster, null if none is active.
+   */
   public HMaster getMaster() {
     return this.hbaseCluster.getActiveMaster();
   }
 
   /**
+   * Returns the current active master thread, if available.
+   * @return the active MasterThread, null if none is active.
+   */
+  public MasterThread getMasterThread() {
+    for (MasterThread mt: hbaseCluster.getLiveMasters()) {
+      if (mt.getMaster().isActiveMaster()) {
+        return mt;
+      }
+    }
+    return null;
+  }
+
+  /**
    * Returns the master at the specified index, if available.
    * @return the active HMaster, null if none is active.
    */
@@ -490,6 +512,7 @@ public class MiniHBaseCluster extends HB
    * Shut down the mini HBase cluster
    * @throws IOException
    */
+  @SuppressWarnings("deprecation")
   public void shutdown() throws IOException {
     if (this.hbaseCluster != null) {
       this.hbaseCluster.shutdown();
@@ -635,6 +658,15 @@ public class MiniHBaseCluster extends HB
 
   @Override
   public ServerName getServerHoldingRegion(byte[] regionName) throws IOException {
+    // Assume there is only one master thread which is the active master.
+    // If there are multiple master threads, the backup master threads
+    // should hold some regions. Please refer to #countServedRegions
+    // to see how we find out all regions.
+    HMaster master = getMaster();
+    HRegion region = master.getOnlineRegion(regionName);
+    if (region != null) {
+      return master.getServerName();
+    }
     int index = getServerWith(regionName);
     if (index < 0) {
       return null;
@@ -653,6 +685,9 @@ public class MiniHBaseCluster extends HB
     for (JVMClusterUtil.RegionServerThread rst : getLiveRegionServerThreads()) {
       count += rst.getRegionServer().getNumberOfOnlineRegions();
     }
+    for (JVMClusterUtil.MasterThread mt : getLiveMasterThreads()) {
+      count += mt.getMaster().getNumberOfOnlineRegions();
+    }
     return count;
   }
 
@@ -711,12 +746,12 @@ public class MiniHBaseCluster extends HB
 
   @Override
   public AdminService.BlockingInterface getAdminProtocol(ServerName serverName) throws IOException {
-    return getRegionServer(getRegionServerIndex(serverName));
+    return getRegionServer(getRegionServerIndex(serverName)).getRSRpcServices();
   }
 
   @Override
   public ClientService.BlockingInterface getClientProtocol(ServerName serverName)
   throws IOException {
-    return getRegionServer(getRegionServerIndex(serverName));
+    return getRegionServer(getRegionServerIndex(serverName)).getRSRpcServices();
   }
 }

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java Tue Mar 25 19:34:52 2014
@@ -24,7 +24,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentSkipListMap;
 
-import com.google.protobuf.Message;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.hbase.catalog.CatalogTracker;
@@ -33,7 +32,6 @@ import org.apache.hadoop.hbase.fs.HFileS
 import org.apache.hadoop.hbase.ipc.RpcServerInterface;
 import org.apache.hadoop.hbase.master.TableLockManager;
 import org.apache.hadoop.hbase.master.TableLockManager.NullTableLockManager;
-import org.apache.hadoop.hbase.protobuf.generated.RPCProtos;
 import org.apache.hadoop.hbase.regionserver.CompactionRequestor;
 import org.apache.hadoop.hbase.regionserver.FlushRequester;
 import org.apache.hadoop.hbase.regionserver.HRegion;
@@ -218,11 +216,6 @@ class MockRegionServerServices implement
   }
 
   @Override
-  public int getPriority(RPCProtos.RequestHeader header, Message param) {
-    return 0;
-  }
-
-  @Override
   public ServerNonceManager getNonceManager() {
     // TODO Auto-generated method stub
     return null;

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java Tue Mar 25 19:34:52 2014
@@ -134,9 +134,8 @@ public class TestDrainingServer {
         balancer, startupMasterExecutor("mockExecutorService"), null, null);
 
     Mockito.when(master.getAssignmentManager()).thenReturn(am);
-    Mockito.when(master.getZooKeeperWatcher()).thenReturn(zkWatcher);
     Mockito.when(master.getZooKeeper()).thenReturn(zkWatcher);
-    
+
     am.addPlan(REGIONINFO.getEncodedName(), new RegionPlan(REGIONINFO, null, SERVERNAME_A));
 
     zkWatcher.registerListenerFirst(am);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestGlobalMemStoreSize.java Tue Mar 25 19:34:52 2014
@@ -81,7 +81,8 @@ public class TestGlobalMemStoreSize {
 
     for (HRegionServer server : getOnlineRegionServers()) {
       long globalMemStoreSize = 0;
-      for (HRegionInfo regionInfo : ProtobufUtil.getOnlineRegions(server)) {
+      for (HRegionInfo regionInfo :
+          ProtobufUtil.getOnlineRegions(server.getRSRpcServices())) {
         globalMemStoreSize += 
           server.getFromOnlineRegions(regionInfo.getEncodedName()).
           getMemstoreSize().get();
@@ -96,7 +97,8 @@ public class TestGlobalMemStoreSize {
       LOG.info("Starting flushes on " + server.getServerName() +
         ", size=" + server.getRegionServerAccounting().getGlobalMemstoreSize());
 
-      for (HRegionInfo regionInfo : ProtobufUtil.getOnlineRegions(server)) {
+      for (HRegionInfo regionInfo :
+          ProtobufUtil.getOnlineRegions(server.getRSRpcServices())) {
         HRegion r = server.getFromOnlineRegions(regionInfo.getEncodedName());
         flush(r, server);
       }
@@ -111,7 +113,8 @@ public class TestGlobalMemStoreSize {
       if (size > 0) {
         // If size > 0, see if its because the meta region got edits while
         // our test was running....
-        for (HRegionInfo regionInfo : ProtobufUtil.getOnlineRegions(server)) {
+        for (HRegionInfo regionInfo :
+            ProtobufUtil.getOnlineRegions(server.getRSRpcServices())) {
           HRegion r = server.getFromOnlineRegions(regionInfo.getEncodedName());
           long l = r.getMemstoreSize().longValue();
           if (l > 0) {
@@ -144,15 +147,6 @@ public class TestGlobalMemStoreSize {
       server.getRegionServerAccounting().getGlobalMemstoreSize());
   }
 
-  /** figure out how many regions are currently being served. */
-  private int getRegionCount() throws IOException {
-    int total = 0;
-    for (HRegionServer server : getOnlineRegionServers()) {
-      total += ProtobufUtil.getOnlineRegions(server).size();
-    }
-    return total;
-  }
-  
   private List<HRegionServer> getOnlineRegionServers() {
     List<HRegionServer> list = new ArrayList<HRegionServer>();
     for (JVMClusterUtil.RegionServerThread rst : 
@@ -168,12 +162,14 @@ public class TestGlobalMemStoreSize {
    * Wait until all the regions are assigned.
    */
   private void waitForAllRegionsAssigned() throws IOException {
-    while (getRegionCount() < totalRegionNum) {
-      LOG.debug("Waiting for there to be "+totalRegionNum+" regions, but there are " + getRegionCount() + " right now.");
+    while (true) {
+      int regionCount = HBaseTestingUtility.getAllOnlineRegions(cluster).size();
+      if (regionCount >= totalRegionNum) break;
+      LOG.debug("Waiting for there to be "+ totalRegionNum
+        +" regions, but there are " + regionCount + " right now.");
       try {
         Thread.sleep(100);
       } catch (InterruptedException e) {}
     }
   }
-
 }

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestNamespace.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestNamespace.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestNamespace.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestNamespace.java Tue Mar 25 19:34:52 2014
@@ -37,13 +37,11 @@ import org.apache.hadoop.hbase.client.Ge
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.constraint.ConstraintException;
 import org.apache.hadoop.hbase.master.HMaster;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.FSUtils;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
-import com.google.common.collect.Sets;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Before;
@@ -52,10 +50,7 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import java.io.IOException;
-import java.util.Set;
-
-import static org.junit.Assert.*;
+import com.google.common.collect.Sets;
 
 @Category(MediumTests.class)
 public class TestNamespace {
@@ -78,7 +73,7 @@ public class TestNamespace {
     cluster = TEST_UTIL.getHBaseCluster();
     master = ((MiniHBaseCluster)cluster).getMaster();
     zkNamespaceManager =
-        new ZKNamespaceManager(master.getZooKeeperWatcher());
+        new ZKNamespaceManager(master.getZooKeeper());
     zkNamespaceManager.start();
     LOG.info("Done initializing cluster");
   }

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java Tue Mar 25 19:34:52 2014
@@ -149,9 +149,9 @@ public class TestRegionRebalancing {
 
   /** figure out how many regions are currently being served. */
   private int getRegionCount() throws IOException {
-    int total = 0;
+    int total = 0; // Regions on master are ignored since not counted for balancing
     for (HRegionServer server : getOnlineRegionServers()) {
-      total += ProtobufUtil.getOnlineRegions(server).size();
+      total += ProtobufUtil.getOnlineRegions(server.getRSRpcServices()).size();
     }
     return total;
   }
@@ -183,11 +183,13 @@ public class TestRegionRebalancing {
         + ", up border: " + avgLoadPlusSlop + "; attempt: " + i);
 
       for (HRegionServer server : servers) {
-        int serverLoad = ProtobufUtil.getOnlineRegions(server).size();
+        int serverLoad =
+          ProtobufUtil.getOnlineRegions(server.getRSRpcServices()).size();
         LOG.debug(server.getServerName() + " Avg: " + avg + " actual: " + serverLoad);
         if (!(avg > 2.0 && serverLoad <= avgLoadPlusSlop
             && serverLoad >= avgLoadMinusSlop)) {
-          for (HRegionInfo hri : ProtobufUtil.getOnlineRegions(server)) {
+          for (HRegionInfo hri :
+              ProtobufUtil.getOnlineRegions(server.getRSRpcServices())) {
             if (hri.isMetaRegion()) serverLoad--;
             // LOG.debug(hri.getRegionNameAsString());
           }
@@ -234,7 +236,7 @@ public class TestRegionRebalancing {
    * Wait until all the regions are assigned.
    */
   private void waitForAllRegionsAssigned() throws IOException {
-    int totalRegions = HBaseTestingUtility.KEYS.length+1;
+    int totalRegions = HBaseTestingUtility.KEYS.length;
     while (getRegionCount() < totalRegions) {
     // while (!cluster.getMaster().allRegionsAssigned()) {
       LOG.debug("Waiting for there to be "+ totalRegions +" regions, but there are " + getRegionCount() + " right now.");

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java Tue Mar 25 19:34:52 2014
@@ -106,12 +106,17 @@ public class TestZooKeeper {
    */
   @Before
   public void setUp() throws Exception {
-    TEST_UTIL.startMiniHBaseCluster(1, 2);
+    TEST_UTIL.startMiniHBaseCluster(2, 2);
   }
 
   @After
   public void after() throws Exception {
     try {
+      // Some regionserver could fail to delete its znode.
+      // So shutdown could hang. Let's kill them all instead.
+      TEST_UTIL.getHBaseCluster().killAll();
+
+      // Still need to clean things up
       TEST_UTIL.shutdownMiniHBaseCluster();
     } finally {
       TEST_UTIL.getTestFileSystem().delete(FSUtils.getRootDir(TEST_UTIL.getConfiguration()), true);
@@ -205,17 +210,14 @@ public class TestZooKeeper {
     connection.close();
   }
 
-  @Test (timeout = 60000)
+  @Test (timeout = 120000)
   public void testRegionServerSessionExpired() throws Exception {
     LOG.info("Starting testRegionServerSessionExpired");
-    int metaIndex = TEST_UTIL.getMiniHBaseCluster().getServerWithMeta();
-    TEST_UTIL.expireRegionServerSession(metaIndex);
+    TEST_UTIL.expireRegionServerSession(0);
     testSanity("testRegionServerSessionExpired");
   }
 
-  // @Test Disabled because seems to make no sense expiring master session
-  // and then trying to create table (down in testSanity); on master side
-  // it will fail because the master's session has expired -- St.Ack 07/24/2012
+  @Test(timeout = 300000)
   public void testMasterSessionExpired() throws Exception {
     LOG.info("Starting testMasterSessionExpired");
     TEST_UTIL.expireMasterSession();
@@ -227,14 +229,14 @@ public class TestZooKeeper {
    *  test differs from {@link #testMasterSessionExpired} because here
    *  the master znode will exist in ZK.
    */
-  @Test(timeout = 60000)
+  @Test(timeout = 300000)
   public void testMasterZKSessionRecoveryFailure() throws Exception {
     LOG.info("Starting testMasterZKSessionRecoveryFailure");
     MiniHBaseCluster cluster = TEST_UTIL.getHBaseCluster();
     HMaster m = cluster.getMaster();
     m.abort("Test recovery from zk session expired",
       new KeeperException.SessionExpiredException());
-    assertFalse(m.isStopped());
+    assertTrue(m.isStopped()); // Master doesn't recover any more
     testSanity("testMasterZKSessionRecoveryFailure");
   }
 
@@ -480,13 +482,13 @@ public class TestZooKeeper {
    * session. Without the HBASE-6046 fix master always tries to assign all the user regions by
    * calling retainAssignment.
    */
-  @Test
+  @Test(timeout = 300000)
   public void testRegionAssignmentAfterMasterRecoveryDueToZKExpiry() throws Exception {
     MiniHBaseCluster cluster = TEST_UTIL.getHBaseCluster();
     cluster.startRegionServer();
     cluster.waitForActiveAndReadyMaster(10000);
     HMaster m = cluster.getMaster();
-    ZooKeeperWatcher zkw = m.getZooKeeperWatcher();
+    ZooKeeperWatcher zkw = m.getZooKeeper();
     int expectedNumOfListeners = zkw.getNumberOfListeners();
     // now the cluster is up. So assign some regions.
     HBaseAdmin admin = new HBaseAdmin(TEST_UTIL.getConfiguration());
@@ -500,17 +502,17 @@ public class TestZooKeeper {
       admin.createTable(htd, SPLIT_KEYS);
       ZooKeeperWatcher zooKeeperWatcher = HBaseTestingUtility.getZooKeeperWatcher(TEST_UTIL);
       ZKAssign.blockUntilNoRIT(zooKeeperWatcher);
-      m.getZooKeeperWatcher().close();
+      m.getZooKeeper().close();
       MockLoadBalancer.retainAssignCalled = false;
       m.abort("Test recovery from zk session expired",
         new KeeperException.SessionExpiredException());
-      assertFalse(m.isStopped());
+      assertTrue(m.isStopped()); // Master doesn't recover any more
       // The recovered master should not call retainAssignment, as it is not a
       // clean startup.
       assertFalse("Retain assignment should not be called", MockLoadBalancer.retainAssignCalled);
       // number of listeners should be same as the value before master aborted
       // wait for new master is initialized
-      cluster.waitForActiveAndReadyMaster(10000);
+      cluster.waitForActiveAndReadyMaster(120000);
       assertEquals(expectedNumOfListeners, zkw.getNumberOfListeners());
     } finally {
       admin.close();
@@ -521,7 +523,7 @@ public class TestZooKeeper {
    * Tests whether the logs are split when master recovers from a expired zookeeper session and an
    * RS goes down.
    */
-  @Test(timeout = 240000)
+  @Test(timeout = 300000)
   public void testLogSplittingAfterMasterRecoveryDueToZKExpiry() throws IOException,
       KeeperException, InterruptedException {
     MiniHBaseCluster cluster = TEST_UTIL.getHBaseCluster();
@@ -549,10 +551,10 @@ public class TestZooKeeper {
         p.add(Bytes.toBytes("col"), Bytes.toBytes("ql"), Bytes.toBytes("value" + numberOfPuts));
         table.put(p);
       }
-      m.getZooKeeperWatcher().close();
+      m.getZooKeeper().close();
       m.abort("Test recovery from zk session expired",
         new KeeperException.SessionExpiredException());
-      assertFalse(m.isStopped());
+      assertTrue(m.isStopped()); // Master doesn't recover any more
       cluster.getRegionServer(0).abort("Aborting");
       // Without patch for HBASE-6046 this test case will always timeout
       // with patch the test case should pass.

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java Tue Mar 25 19:34:52 2014
@@ -25,23 +25,20 @@ import static org.junit.Assert.assertTru
 
 import java.io.IOException;
 import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.Abortable;
-import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.MediumTests;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.Pair;
-import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -54,22 +51,7 @@ import org.junit.experimental.categories
 public class TestMetaReaderEditor {
   private static final Log LOG = LogFactory.getLog(TestMetaReaderEditor.class);
   private static final  HBaseTestingUtility UTIL = new HBaseTestingUtility();
-  private static ZooKeeperWatcher zkw;
   private static CatalogTracker CT;
-  private final static Abortable ABORTABLE = new Abortable() {
-    private final AtomicBoolean abort = new AtomicBoolean(false);
-
-    @Override
-    public void abort(String why, Throwable e) {
-      LOG.info(why, e);
-      abort.set(true);
-    }
-    
-    @Override
-    public boolean isAborted() {
-      return abort.get();
-    }
-  };
 
   @BeforeClass public static void beforeClass() throws Exception {
     UTIL.startMiniCluster(3);
@@ -79,13 +61,11 @@ public class TestMetaReaderEditor {
     // responsive.  1 second is default as is ten retries.
     c.setLong("hbase.client.pause", 1000);
     c.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 10);
-    zkw = new ZooKeeperWatcher(c, "TestMetaReaderEditor", ABORTABLE);
-    CT = new CatalogTracker(zkw, c, ABORTABLE);
+    CT = new CatalogTracker(c);
     CT.start();
   }
 
   @AfterClass public static void afterClass() throws Exception {
-    ABORTABLE.abort("test ending", null);
     CT.stop();
     UTIL.shutdownMiniCluster();
   }

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java Tue Mar 25 19:34:52 2014
@@ -98,7 +98,9 @@ public class HConnectionTestingUtility {
       final ClientProtos.ClientService.BlockingInterface client,
       final ServerName sn, final HRegionInfo hri)
   throws IOException {
-    ClusterConnection c = HConnectionTestingUtility.getMockedConnection(conf);
+    HConnectionImplementation c = Mockito.mock(HConnectionImplementation.class);
+    Mockito.when(c.getConfiguration()).thenReturn(conf);
+    ConnectionManager.CONNECTION_INSTANCES.put(new HConnectionKey(conf), c);
     Mockito.doNothing().when(c).close();
     // Make it so we return a particular location when asked.
     final HRegionLocation loc = new HRegionLocation(hri, sn);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java Tue Mar 25 19:34:52 2014
@@ -18,7 +18,6 @@
  */
 package org.apache.hadoop.hbase.client;
 
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -68,7 +67,12 @@ import org.apache.hadoop.hbase.util.Byte
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.zookeeper.ZKTableReadOnly;
 import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
-import org.junit.*;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 import com.google.protobuf.ServiceException;
@@ -540,6 +544,11 @@ public class TestAdmin {
       }
       regs.add(entry.getKey());
     }
+    if (numRS >= 2) {
+      // Ignore the master region server,
+      // which contains less regions by intention.
+      numRS--;
+    }
     float average = (float) expectedRegions/numRS;
     int min = (int)Math.floor(average);
     int max = (int)Math.ceil(average);
@@ -834,7 +843,7 @@ public class TestAdmin {
    * @throws Exception
    * @throws IOException
    */
-  @Test (timeout=300000)
+  @Test (timeout=400000)
   public void testForceSplit() throws Exception {
     byte[][] familyNames = new byte[][] { Bytes.toBytes("cf") };
     int[] rowCounts = new int[] { 6000 };
@@ -886,7 +895,7 @@ public class TestAdmin {
    * @throws Exception
    * @throws IOException
    */
-  @Test (timeout=300000)
+  @Test (timeout=800000)
   public void testForceSplitMultiFamily() throws Exception {
     int numVersions = HColumnDescriptor.DEFAULT_VERSIONS;
 
@@ -973,7 +982,7 @@ public class TestAdmin {
     final AtomicInteger count = new AtomicInteger(0);
     Thread t = new Thread("CheckForSplit") {
       public void run() {
-        for (int i = 0; i < 20; i++) {
+        for (int i = 0; i < 45; i++) {
           try {
             sleep(1000);
           } catch (InterruptedException e) {
@@ -1299,7 +1308,7 @@ public class TestAdmin {
 
     HRegionInfo info = null;
     HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);
-    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
     for (HRegionInfo regionInfo : onlineRegions) {
       if (!regionInfo.getTable().isSystemTable()) {
         info = regionInfo;
@@ -1307,11 +1316,13 @@ public class TestAdmin {
             .getServerName().getServerName());
       }
     }
-    boolean isInList = ProtobufUtil.getOnlineRegions(rs).contains(info);
+    boolean isInList = ProtobufUtil.getOnlineRegions(
+      rs.getRSRpcServices()).contains(info);
     long timeout = System.currentTimeMillis() + 10000;
     while ((System.currentTimeMillis() < timeout) && (isInList)) {
       Thread.sleep(100);
-      isInList = ProtobufUtil.getOnlineRegions(rs).contains(info);
+      isInList = ProtobufUtil.getOnlineRegions(
+        rs.getRSRpcServices()).contains(info);
     }
 
     assertFalse("The region should not be present in online regions list.",
@@ -1325,7 +1336,7 @@ public class TestAdmin {
 
     HRegionInfo info = null;
     HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);
-    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
     for (HRegionInfo regionInfo : onlineRegions) {
       if (!regionInfo.isMetaTable()) {
         if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion1")) {
@@ -1339,7 +1350,7 @@ public class TestAdmin {
         }
       }
     }
-    onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+    onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
     assertTrue("The region should be present in online regions list.",
         onlineRegions.contains(info));
   }
@@ -1352,7 +1363,7 @@ public class TestAdmin {
 
     HRegionInfo info = null;
     HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);
-    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
     for (HRegionInfo regionInfo : onlineRegions) {
       if (!regionInfo.isMetaTable()) {
 
@@ -1364,11 +1375,13 @@ public class TestAdmin {
       }
     }
 
-    boolean isInList = ProtobufUtil.getOnlineRegions(rs).contains(info);
+    boolean isInList = ProtobufUtil.getOnlineRegions(
+      rs.getRSRpcServices()).contains(info);
     long timeout = System.currentTimeMillis() + 10000;
     while ((System.currentTimeMillis() < timeout) && (isInList)) {
       Thread.sleep(100);
-      isInList = ProtobufUtil.getOnlineRegions(rs).contains(info);
+      isInList = ProtobufUtil.getOnlineRegions(
+        rs.getRSRpcServices()).contains(info);
     }
 
     assertFalse("The region should not be present in online regions list.",
@@ -1383,7 +1396,7 @@ public class TestAdmin {
     HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);
 
     try {
-      List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+      List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
       for (HRegionInfo regionInfo : onlineRegions) {
         if (!regionInfo.isMetaTable()) {
           if (regionInfo.getRegionNameAsString()
@@ -1407,7 +1420,7 @@ public class TestAdmin {
     HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);
 
     try {
-      List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+      List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
       for (HRegionInfo regionInfo : onlineRegions) {
         if (!regionInfo.isMetaTable()) {
           if (regionInfo.getRegionNameAsString()
@@ -1430,7 +1443,7 @@ public class TestAdmin {
     HRegionInfo info = null;
     HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);
 
-    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+    List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
     for (HRegionInfo regionInfo : onlineRegions) {
       if (!regionInfo.isMetaTable()) {
         if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion4")) {
@@ -1444,7 +1457,7 @@ public class TestAdmin {
         }
       }
     }
-    onlineRegions = ProtobufUtil.getOnlineRegions(rs);
+    onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
     assertTrue("The region should be present in online regions list.",
         onlineRegions.contains(info));
   }
@@ -1683,7 +1696,7 @@ public class TestAdmin {
     TEST_UTIL.getHBaseAdmin().createTable(htd);
   }
 
-  @Test
+  @Test (timeout=300000)
   public void testIsEnabledOrDisabledOnUnknownTable() throws Exception {
     try {
       admin.isTableEnabled(Bytes.toBytes("unkownTable"));

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientScannerRPCTimeout.java Tue Mar 25 19:34:52 2014
@@ -34,6 +34,8 @@ import org.apache.hadoop.hbase.ipc.RpcCl
 import org.apache.hadoop.hbase.ipc.RpcServer;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;
+import org.apache.hadoop.hbase.regionserver.HRegionServer;
+import org.apache.hadoop.hbase.regionserver.RSRpcServices;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.log4j.Level;
 import org.junit.AfterClass;
@@ -89,7 +91,7 @@ public class TestClientScannerRPCTimeout
     putToTable(ht, r2);
     putToTable(ht, r3);
     LOG.info("Wrote our three values");
-    RegionServerWithScanTimeout.seqNoToSleepOn = 1;
+    RSRpcServicesWithScanTimeout.seqNoToSleepOn = 1;
     Scan scan = new Scan();
     scan.setCaching(1);
     ResultScanner scanner = ht.getScanner(scan);
@@ -100,15 +102,15 @@ public class TestClientScannerRPCTimeout
     result = scanner.next();
     assertTrue((System.currentTimeMillis() - t1) > rpcTimeout);
     assertTrue("Expected row: row-2", Bytes.equals(r2, result.getRow()));
-    RegionServerWithScanTimeout.seqNoToSleepOn = -1;// No need of sleep
+    RSRpcServicesWithScanTimeout.seqNoToSleepOn = -1;// No need of sleep
     result = scanner.next();
     assertTrue("Expected row: row-3", Bytes.equals(r3, result.getRow()));
     scanner.close();
 
     // test the case that RPC is always timesout
     scanner = ht.getScanner(scan);
-    RegionServerWithScanTimeout.sleepAlways = true;
-    RegionServerWithScanTimeout.tryNumber = 0;
+    RSRpcServicesWithScanTimeout.sleepAlways = true;
+    RSRpcServicesWithScanTimeout.tryNumber = 0;
     try {
       result = scanner.next();
     } catch (IOException ioe) {
@@ -116,8 +118,8 @@ public class TestClientScannerRPCTimeout
       LOG.info("Failed after maximal attempts=" + CLIENT_RETRIES_NUMBER, ioe);
     }
     assertTrue("Expected maximal try number=" + CLIENT_RETRIES_NUMBER
-        + ", actual =" + RegionServerWithScanTimeout.tryNumber,
-        RegionServerWithScanTimeout.tryNumber <= CLIENT_RETRIES_NUMBER);
+        + ", actual =" + RSRpcServicesWithScanTimeout.tryNumber,
+        RSRpcServicesWithScanTimeout.tryNumber <= CLIENT_RETRIES_NUMBER);
   }
 
   private void putToTable(HTable ht, byte[] rowkey) throws IOException {
@@ -127,15 +129,26 @@ public class TestClientScannerRPCTimeout
   }
 
   private static class RegionServerWithScanTimeout extends MiniHBaseClusterRegionServer {
+    public RegionServerWithScanTimeout(Configuration conf)
+        throws IOException, InterruptedException {
+      super(conf);
+    }
+
+    protected RSRpcServices createRpcServices() throws IOException {
+      return new RSRpcServicesWithScanTimeout(this);
+    }
+  }
+
+  private static class RSRpcServicesWithScanTimeout extends RSRpcServices {
     private long tableScannerId;
     private boolean slept;
     private static long seqNoToSleepOn = -1;
     private static boolean sleepAlways = false;
     private static int tryNumber = 0;
 
-    public RegionServerWithScanTimeout(Configuration conf)
-    throws IOException, InterruptedException {
-      super(conf);
+    public RSRpcServicesWithScanTimeout(HRegionServer rs)
+        throws IOException {
+      super(rs);
     }
 
     @Override

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java Tue Mar 25 19:34:52 2014
@@ -4158,7 +4158,7 @@ public class TestFromClientSide {
     // HBaseAdmin and can connect to the new master;
     HBaseAdmin newAdmin = new HBaseAdmin(conn);
     assertTrue(newAdmin.tableExists(tableName));
-    assert(newAdmin.getClusterStatus().getServersSize() == SLAVES);
+    assertTrue(newAdmin.getClusterStatus().getServersSize() == SLAVES + 1);
   }
 
   @Test

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java Tue Mar 25 19:34:52 2014
@@ -41,7 +41,6 @@ import org.apache.hadoop.hbase.Waiter;
 import org.apache.hadoop.hbase.exceptions.OperationConflictException;
 import org.apache.hadoop.hbase.ipc.RpcClient;
 import org.apache.hadoop.hbase.ipc.RpcServer;
-import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.JVMClusterUtil;
 import org.apache.hadoop.hbase.util.Threads;
@@ -277,7 +276,7 @@ public class TestMultiParallel {
       // after writing successfully. It means the server we aborted is dead
       // and detected by matser
       while (liveRS.getRegionServer().getNumberOfOnlineRegions() != 0) {
-        Thread.sleep(10);
+        Thread.sleep(100);
       }
       // try putting more keys after the abort. same key/qual... just validating
       // no exceptions thrown
@@ -302,17 +301,14 @@ public class TestMultiParallel {
     LOG.info("Count=" + count);
     Assert.assertEquals("Server count=" + count + ", abort=" + doAbort,
         (doAbort ? (liveRScount - 1) : liveRScount), count);
-    for (JVMClusterUtil.RegionServerThread t: liveRSs) {
-      int regions = ProtobufUtil.getOnlineRegions(t.getRegionServer()).size();
-      // Assert.assertTrue("Count of regions=" + regions, regions > 10);
-    }
     if (doAbort) {
       UTIL.getMiniHBaseCluster().waitOnRegionServer(0);
       UTIL.waitFor(15 * 1000, new Waiter.Predicate<Exception>() {
         @Override
         public boolean evaluate() throws Exception {
+          // Master is also a regionserver, so the count is liveRScount
           return UTIL.getMiniHBaseCluster().getMaster()
-              .getClusterStatus().getServersSize() == (liveRScount - 1);
+              .getClusterStatus().getServersSize() == liveRScount;
         }
       });
       UTIL.waitFor(15 * 1000, UTIL.predicateNoRegionsInTransition());

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java Tue Mar 25 19:34:52 2014
@@ -472,7 +472,8 @@ public class TestScannersFromClientSide 
     byte[] regionName = hri.getRegionName();
     int i = cluster.getServerWith(regionName);
     HRegionServer rs = cluster.getRegionServer(i);
-    ProtobufUtil.closeRegion(rs, rs.getServerName(), regionName, false);
+    ProtobufUtil.closeRegion(
+      rs.getRSRpcServices(), rs.getServerName(), regionName, false);
     long startTime = EnvironmentEdgeManager.currentTimeMillis();
     long timeOut = 300000;
     while (true) {
@@ -492,7 +493,7 @@ public class TestScannersFromClientSide 
       states.regionOffline(hri);
       states.updateRegionState(hri, State.OPENING);
       ZKAssign.createNodeOffline(zkw, hri, loc.getServerName());
-      ProtobufUtil.openRegion(rs, rs.getServerName(), hri);
+      ProtobufUtil.openRegion(rs.getRSRpcServices(), rs.getServerName(), hri);
       startTime = EnvironmentEdgeManager.currentTimeMillis();
       while (true) {
         if (rs.getOnlineRegion(regionName) != null) {

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java Tue Mar 25 19:34:52 2014
@@ -525,7 +525,7 @@ public class TestClassLoading {
         "[" + masterCoprocessor.getSimpleName() + "]";
     String loadedMasterCoprocessors =
         java.util.Arrays.toString(
-            TEST_UTIL.getHBaseCluster().getMaster().getCoprocessors());
+            TEST_UTIL.getHBaseCluster().getMaster().getMasterCoprocessors());
     assertEquals(loadedMasterCoprocessorsVerify, loadedMasterCoprocessors);
   }
 

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java Tue Mar 25 19:34:52 2014
@@ -129,7 +129,7 @@ public class TestHTableWrapper {
   @Test
   public void testHTableInterfaceMethods() throws Exception {
     Configuration conf = util.getConfiguration();
-    MasterCoprocessorHost cpHost = util.getMiniHBaseCluster().getMaster().getCoprocessorHost();
+    MasterCoprocessorHost cpHost = util.getMiniHBaseCluster().getMaster().getMasterCoprocessorHost();
     Class<?> implClazz = DummyRegionObserver.class;
     cpHost.load(implClazz, Coprocessor.PRIORITY_HIGHEST, conf);
     CoprocessorEnvironment env = cpHost.findCoprocessorEnvironment(implClazz.getName());

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java Tue Mar 25 19:34:52 2014
@@ -160,7 +160,7 @@ public class TestMasterCoprocessorExcept
     MiniHBaseCluster cluster = UTIL.getHBaseCluster();
 
     HMaster master = cluster.getMaster();
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     BuggyMasterObserver cp = (BuggyMasterObserver)host.findCoprocessor(
         BuggyMasterObserver.class.getName());
     assertFalse("No table created yet", cp.wasCreateTableCalled());

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.java Tue Mar 25 19:34:52 2014
@@ -141,7 +141,7 @@ public class TestMasterCoprocessorExcept
     MiniHBaseCluster cluster = UTIL.getHBaseCluster();
 
     HMaster master = cluster.getMaster();
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     BuggyMasterObserver cp = (BuggyMasterObserver)host.findCoprocessor(
         BuggyMasterObserver.class.getName());
     assertFalse("No table created yet", cp.wasCreateTableCalled());

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java Tue Mar 25 19:34:52 2014
@@ -34,7 +34,16 @@ import java.util.concurrent.CountDownLat
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.*;
+import org.apache.hadoop.hbase.CoprocessorEnvironment;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.HColumnDescriptor;
+import org.apache.hadoop.hbase.HRegionInfo;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.MediumTests;
+import org.apache.hadoop.hbase.MiniHBaseCluster;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.master.AssignmentManager;
@@ -42,10 +51,10 @@ import org.apache.hadoop.hbase.master.HM
 import org.apache.hadoop.hbase.master.MasterCoprocessorHost;
 import org.apache.hadoop.hbase.master.RegionPlan;
 import org.apache.hadoop.hbase.master.RegionState;
+import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
+import org.apache.hadoop.hbase.protobuf.RequestConverter;
 import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;
 import org.apache.hadoop.hbase.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;
-import org.apache.hadoop.hbase.protobuf.RequestConverter;
-import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.Threads;
@@ -968,7 +977,7 @@ public class TestMasterObserver {
 
     HMaster master = cluster.getMaster();
     assertTrue("Master should be active", master.isActiveMaster());
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     assertNotNull("CoprocessorHost should not be null", host);
     CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(
         CPMasterObserver.class.getName());
@@ -987,7 +996,7 @@ public class TestMasterObserver {
     MiniHBaseCluster cluster = UTIL.getHBaseCluster();
 
     HMaster master = cluster.getMaster();
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(
         CPMasterObserver.class.getName());
     cp.enableBypass(true);
@@ -1147,7 +1156,7 @@ public class TestMasterObserver {
   public void testSnapshotOperations() throws Exception {
     MiniHBaseCluster cluster = UTIL.getHBaseCluster();
     HMaster master = cluster.getMaster();
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(
         CPMasterObserver.class.getName());
     cp.resetStates();
@@ -1204,7 +1213,7 @@ public class TestMasterObserver {
     MiniHBaseCluster cluster = UTIL.getHBaseCluster();
     String testNamespace = "observed_ns";
     HMaster master = cluster.getMaster();
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(
         CPMasterObserver.class.getName());
 
@@ -1269,7 +1278,7 @@ public class TestMasterObserver {
     MiniHBaseCluster cluster = UTIL.getHBaseCluster();
 
     HMaster master = cluster.getMaster();
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(
         CPMasterObserver.class.getName());
     cp.enableBypass(false);
@@ -1308,8 +1317,8 @@ public class TestMasterObserver {
       }
       assertTrue("Found server", found);
       LOG.info("Found " + destName);
-      master.moveRegion(null,RequestConverter.buildMoveRegionRequest(
-        firstGoodPair.getKey().getEncodedNameAsBytes(),Bytes.toBytes(destName)));
+      master.getMasterRpcServices().moveRegion(null, RequestConverter.buildMoveRegionRequest(
+          firstGoodPair.getKey().getEncodedNameAsBytes(),Bytes.toBytes(destName)));
       assertTrue("Coprocessor should have been called on region move",
         cp.wasMoveCalled());
   
@@ -1334,13 +1343,13 @@ public class TestMasterObserver {
       byte[] destRS = Bytes.toBytes(cluster.getRegionServer(1).getServerName().toString());
       //Make sure no regions are in transition now
       waitForRITtoBeZero(master);
-      List<HRegionInfo> openRegions = ProtobufUtil.getOnlineRegions(rs);
+      List<HRegionInfo> openRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());
       int moveCnt = openRegions.size()/2;
       for (int i=0; i<moveCnt; i++) {
         HRegionInfo info = openRegions.get(i);
         if (!info.isMetaTable()) {
-          master.moveRegion(null,RequestConverter.buildMoveRegionRequest(
-            openRegions.get(i).getEncodedNameAsBytes(), destRS));
+          master.getMasterRpcServices().moveRegion(null, RequestConverter.buildMoveRegionRequest(
+              openRegions.get(i).getEncodedNameAsBytes(), destRS));
         }
       }
       //Make sure no regions are in transition now
@@ -1370,14 +1379,14 @@ public class TestMasterObserver {
     MiniHBaseCluster cluster = UTIL.getHBaseCluster();
 
     HMaster master = cluster.getMaster();
-    MasterCoprocessorHost host = master.getCoprocessorHost();
+    MasterCoprocessorHost host = master.getMasterCoprocessorHost();
     CPMasterObserver cp = (CPMasterObserver)host.findCoprocessor(
         CPMasterObserver.class.getName());
     cp.resetStates();
 
     GetTableDescriptorsRequest req =
         RequestConverter.buildGetTableDescriptorsRequest((List<TableName>)null);
-    master.getTableDescriptors(null, req);
+    master.getMasterRpcServices().getTableDescriptors(null, req);
 
     assertTrue("Coprocessor should be called on table descriptors request",
       cp.wasGetTableDescriptorsCalled());

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java Tue Mar 25 19:34:52 2014
@@ -586,7 +586,7 @@ public class TestRegionObserverInterface
         if (!t.isAlive() || t.getRegionServer().isAborted() || t.getRegionServer().isStopping()){
           continue;
         }
-        for (HRegionInfo r : ProtobufUtil.getOnlineRegions(t.getRegionServer())) {
+        for (HRegionInfo r : ProtobufUtil.getOnlineRegions(t.getRegionServer().getRSRpcServices())) {
           if (!r.getTable().equals(tableName)) {
             continue;
           }

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java Tue Mar 25 19:34:52 2014
@@ -64,7 +64,7 @@ public class TestRegionServerCoprocessor
       final HRegionServer regionServer = cluster.getRegionServer(0);
       conf.set(CoprocessorHost.REGION_COPROCESSOR_CONF_KEY,
         FailedInitializationObserver.class.getName());
-      regionServer.getCoprocessorHost().loadSystemCoprocessors(conf,
+      regionServer.getRegionServerCoprocessorHost().loadSystemCoprocessors(conf,
         CoprocessorHost.REGION_COPROCESSOR_CONF_KEY);
       TEST_UTIL.waitFor(10000, 1000, new Predicate<Exception>() {
         @Override
@@ -98,20 +98,16 @@ public class TestRegionServerCoprocessor
       // Note which regionServer will abort (after put is attempted).
       final HRegionServer regionServer = TEST_UTIL.getRSForFirstRegionInTable(TABLE_NAME);
 
-      boolean threwIOE = false;
       try {
         final byte[] ROW = Bytes.toBytes("aaa");
         Put put = new Put(ROW);
         put.add(TEST_FAMILY, ROW, ROW);
         table.put(put);
         table.flushCommits();
-        // We may need two puts to reliably get an exception
-        table.put(put);
-        table.flushCommits();
       } catch (IOException e) {
-        threwIOE = true;
-      } finally {
-        assertTrue("The regionserver should have thrown an exception", threwIOE);
+        // The region server is going to be aborted.
+        // We may get an exception if we retry,
+        // which is not guaranteed.
       }
 
       // Wait 10 seconds for the regionserver to abort: expected result is that

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.java Tue Mar 25 19:34:52 2014
@@ -31,17 +31,13 @@ import org.apache.hadoop.hbase.Coprocess
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.MediumTests;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.catalog.MetaEditor;
-import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.Mutation;
-import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.regionserver.RegionMergeTransaction;
@@ -82,7 +78,7 @@ public class TestRegionServerObserver {
     try {
       MiniHBaseCluster cluster = TEST_UTIL.getHBaseCluster();
       HRegionServer regionServer = cluster.getRegionServer(0);
-      RegionServerCoprocessorHost cpHost = regionServer.getCoprocessorHost();
+      RegionServerCoprocessorHost cpHost = regionServer.getRegionServerCoprocessorHost();
       Coprocessor coprocessor = cpHost.findCoprocessor(CPRegionServerObserver.class.getName());
       CPRegionServerObserver regionServerObserver = (CPRegionServerObserver) coprocessor;
       HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(TABLENAME));
@@ -115,7 +111,6 @@ public class TestRegionServerObserver {
     private RegionMergeTransaction rmt = null;
     private HRegion mergedRegion = null;
 
-    private boolean bypass = false;
     private boolean preMergeCalled;
     private boolean preMergeBeforePONRCalled;
     private boolean preMergeAfterPONRCalled;
@@ -123,10 +118,6 @@ public class TestRegionServerObserver {
     private boolean postRollBackMergeCalled;
     private boolean postMergeCalled;
 
-    public void enableBypass(boolean bypass) {
-      this.bypass = bypass;
-    }
-
     public void resetStates() {
       preMergeCalled = false;
       preMergeBeforePONRCalled = false;

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java Tue Mar 25 19:34:52 2014
@@ -44,7 +44,6 @@ import org.apache.hadoop.hbase.client.Pu
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.regionserver.wal.HLogUtil;
 import org.apache.hadoop.hbase.util.FSUtils;
-import org.apache.hadoop.hbase.util.Threads;
 import org.apache.hadoop.hdfs.DFSClient;
 import org.apache.hadoop.hdfs.DistributedFileSystem;
 import org.apache.hadoop.hdfs.MiniDFSCluster;
@@ -244,19 +243,18 @@ public class TestBlockReorder {
     byte[] sb = "sb".getBytes();
     htu.startMiniZKCluster();
 
-    MiniHBaseCluster hbm = htu.startMiniHBaseCluster(1, 1);
+    MiniHBaseCluster hbm = htu.startMiniHBaseCluster(1, 0);
     hbm.waitForActiveAndReadyMaster();
-    hbm.getRegionServer(0).waitForServerOnline();
+    HRegionServer targetRs = hbm.getMaster();
 
     // We want to have a datanode with the same name as the region server, so
     //  we're going to get the regionservername, and start a new datanode with this name.
-    String host4 = hbm.getRegionServer(0).getServerName().getHostname();
+    String host4 = targetRs.getServerName().getHostname();
     LOG.info("Starting a new datanode with the name=" + host4);
     cluster.startDataNodes(conf, 1, true, null, new String[]{"/r4"}, new String[]{host4}, null);
     cluster.waitClusterUp();
 
     final int repCount = 3;
-    HRegionServer targetRs = hbm.getRegionServer(0);
 
     // We use the regionserver file system & conf as we expect it to have the hook.
     conf = targetRs.getConfiguration();

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java Tue Mar 25 19:34:52 2014
@@ -183,10 +183,11 @@ public class TestLoadIncrementalHFilesSp
       HRegionServer hrs = util.getRSForFirstRegionInTable(Bytes
           .toBytes(table));
 
-      for (HRegionInfo hri : ProtobufUtil.getOnlineRegions(hrs)) {
+      for (HRegionInfo hri :
+          ProtobufUtil.getOnlineRegions(hrs.getRSRpcServices())) {
         if (Bytes.equals(hri.getTable().getName(), Bytes.toBytes(table))) {
           // splitRegion doesn't work if startkey/endkey are null
-          ProtobufUtil.split(hrs, hri, rowkey(ROWCOUNT / 2)); // hard code split
+          ProtobufUtil.split(hrs.getRSRpcServices(), hri, rowkey(ROWCOUNT / 2)); // hard code split
         }
       }
 
@@ -194,7 +195,8 @@ public class TestLoadIncrementalHFilesSp
       int regions;
       do {
         regions = 0;
-        for (HRegionInfo hri : ProtobufUtil.getOnlineRegions(hrs)) {
+        for (HRegionInfo hri :
+            ProtobufUtil.getOnlineRegions(hrs.getRSRpcServices())) {
           if (Bytes.equals(hri.getTable().getName(), Bytes.toBytes(table))) {
             regions++;
           }
@@ -298,6 +300,7 @@ public class TestLoadIncrementalHFilesSp
     fail("doBulkLoad should have thrown an exception");
   }
 
+  @SuppressWarnings("deprecation")
   private HConnection getMockedConnection(final Configuration conf)
   throws IOException, ServiceException {
     HConnection c = Mockito.mock(HConnection.class);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java Tue Mar 25 19:34:52 2014
@@ -18,23 +18,22 @@
 package org.apache.hadoop.hbase.master;
 
 import java.io.IOException;
+import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.net.InetSocketAddress;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
 import java.util.TreeMap;
 import java.util.concurrent.ConcurrentSkipListMap;
 
-import com.google.protobuf.Message;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.hbase.CellScannable;
 import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.ZooKeeperConnectionException;
 import org.apache.hadoop.hbase.catalog.CatalogTracker;
 import org.apache.hadoop.hbase.client.Get;
@@ -84,7 +83,6 @@ import org.apache.hadoop.hbase.protobuf.
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;
-import org.apache.hadoop.hbase.protobuf.generated.RPCProtos;
 import org.apache.hadoop.hbase.regionserver.CompactionRequestor;
 import org.apache.hadoop.hbase.regionserver.FlushRequester;
 import org.apache.hadoop.hbase.regionserver.HRegion;
@@ -546,11 +544,6 @@ ClientProtos.ClientService.BlockingInter
   }
 
   @Override
-  public int getPriority(RPCProtos.RequestHeader header, Message param) {
-    return 0;
-  }
-
-  @Override
   public UpdateFavoredNodesResponse updateFavoredNodes(RpcController controller,
       UpdateFavoredNodesRequest request) throws ServiceException {
     return null;

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/Mocking.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/Mocking.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/Mocking.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/Mocking.java Tue Mar 25 19:34:52 2014
@@ -73,36 +73,6 @@ public class Mocking {
   }
 
   /**
-   * Fakes the regionserver-side zk transitions of a region open.
-   * @param w ZooKeeperWatcher to use.
-   * @param sn Name of the regionserver doing the 'opening'
-   * @param hri Region we're 'opening'.
-   * @throws KeeperException
-   * @throws DeserializationException
-   */
-  static void fakeRegionServerRegionOpenInZK(HMaster master,  final ZooKeeperWatcher w,
-      final ServerName sn, final HRegionInfo hri)
-    throws KeeperException, DeserializationException, InterruptedException {
-    // Wait till the we region is ready to be open in RIT.
-    waitForRegionPendingOpenInRIT(master.getAssignmentManager(), hri.getEncodedName());
-
-    // Get current versionid else will fail on transition from OFFLINE to OPENING below
-    int versionid = ZKAssign.getVersion(w, hri);
-    assertNotSame(-1, versionid);
-    // This uglyness below is what the openregionhandler on RS side does.  I
-    // looked at exposing the method over in openregionhandler but its just a
-    // one liner and its deep over in another package so just repeat it below.
-    versionid = ZKAssign.transitionNode(w, hri, sn,
-      EventType.M_ZK_REGION_OFFLINE, EventType.RS_ZK_REGION_OPENING, versionid);
-    assertNotSame(-1, versionid);
-    // Move znode from OPENING to OPENED as RS does on successful open.
-    versionid = ZKAssign.transitionNodeOpened(w, hri, sn, versionid);
-    assertNotSame(-1, versionid);
-    // We should be done now.  The master open handler will notice the
-    // transition and remove this regions znode.
-  }
-
-  /**
    * Verifies that the specified region is in the specified state in ZooKeeper.
    * <p>
    * Returns true if region is in transition and in the specified state in

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java Tue Mar 25 19:34:52 2014
@@ -86,7 +86,7 @@ public class TestActiveMasterManager {
     MonitoredTask status = Mockito.mock(MonitoredTask.class);
     clusterStatusTracker.setClusterUp();
 
-    activeMasterManager.blockUntilBecomingActiveMaster(status);
+    activeMasterManager.blockUntilBecomingActiveMaster(100, status);
     assertTrue(activeMasterManager.clusterHasActiveMaster.get());
     assertMaster(zk, master);
 
@@ -95,7 +95,7 @@ public class TestActiveMasterManager {
     ActiveMasterManager secondActiveMasterManager =
       secondDummyMaster.getActiveMasterManager();
     assertFalse(secondActiveMasterManager.clusterHasActiveMaster.get());
-    activeMasterManager.blockUntilBecomingActiveMaster(status);
+    activeMasterManager.blockUntilBecomingActiveMaster(100, status);
     assertTrue(activeMasterManager.clusterHasActiveMaster.get());
     assertMaster(zk, master);
   }
@@ -130,7 +130,7 @@ public class TestActiveMasterManager {
     ClusterStatusTracker clusterStatusTracker =
       ms1.getClusterStatusTracker();
     clusterStatusTracker.setClusterUp();
-    activeMasterManager.blockUntilBecomingActiveMaster(
+    activeMasterManager.blockUntilBecomingActiveMaster(100, 
         Mockito.mock(MonitoredTask.class));
     assertTrue(activeMasterManager.clusterHasActiveMaster.get());
     assertMaster(zk, firstMasterAddress);
@@ -212,7 +212,7 @@ public class TestActiveMasterManager {
 
     @Override
     public void run() {
-      manager.blockUntilBecomingActiveMaster(
+      manager.blockUntilBecomingActiveMaster(100,
           Mockito.mock(MonitoredTask.class));
       LOG.info("Second master has become the active master!");
       isActiveMaster = true;
@@ -308,6 +308,5 @@ public class TestActiveMasterManager {
       return activeMasterManager;
     }
   }
-
 }
 

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java?rev=1581479&r1=1581478&r2=1581479&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java Tue Mar 25 19:34:52 2014
@@ -197,7 +197,7 @@ public class TestCatalogJanitor {
     private final AssignmentManager asm;
 
     MockMasterServices(final Server server) throws IOException {
-      this.mfs = new MasterFileSystem(server, this, false);
+      this.mfs = new MasterFileSystem(server, this);
       this.asm = Mockito.mock(AssignmentManager.class);
     }
 
@@ -228,7 +228,7 @@ public class TestCatalogJanitor {
     }
 
     @Override
-    public MasterCoprocessorHost getCoprocessorHost() {
+    public MasterCoprocessorHost getMasterCoprocessorHost() {
       return null;
     }