Index: src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (revision 1003330) +++ src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (working copy) @@ -64,7 +64,6 @@ import org.apache.hadoop.hbase.util.Writables; import org.apache.hadoop.hbase.zookeeper.RootRegionTracker; import org.apache.hadoop.hbase.zookeeper.ZKTableDisable; -import org.apache.hadoop.hbase.zookeeper.ZKUtil; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; import org.apache.hadoop.ipc.RemoteException; import org.apache.zookeeper.KeeperException; @@ -271,6 +270,12 @@ this.masterChecked = false; } + @Override + public String toString() { + // Return our zk identifier ... it 'hconnection + zk sessionid'. + return this.zooKeeper.toString(); + } + private long getPauseTime(int tries) { int ntries = tries; if (ntries >= HConstants.RETRY_BACKOFF.length) { Index: src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (revision 1003330) +++ src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (working copy) @@ -1007,6 +1007,16 @@ } /** + * Stop the designated regionserver. + * @throws IOException if a remote or network exception occurs + */ + public synchronized void stopRegionServer(final HServerAddress hsa) + throws IOException { + HRegionInterface rs = this.connection.getHRegionConnection(hsa); + rs.stop("Called by admin client " + this.connection.toString()); + } + + /** * @return cluster status * @throws IOException if a remote or network exception occurs */