You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2012/12/31 20:13:20 UTC

svn commit: r1427227 - in /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest: RESTServlet.java RootResource.java SchemaResource.java StorageClusterStatusResource.java StorageClusterVersionResource.java TableResource.java

Author: apurtell
Date: Mon Dec 31 19:13:20 2012
New Revision: 1427227

URL: http://svn.apache.org/viewvc?rev=1427227&view=rev
Log:
HBASE-7469. [REST] Share a HBaseAdmin instance

Modified:
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterVersionResource.java
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java?rev=1427227&r1=1427226&r2=1427227&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java Mon Dec 31 19:13:20 2012
@@ -23,6 +23,7 @@ package org.apache.hadoop.hbase.rest;
 import java.io.IOException;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTablePool;
 import org.apache.hadoop.hbase.rest.metrics.RESTMetrics;
 
@@ -34,6 +35,7 @@ public class RESTServlet implements Cons
   private final Configuration conf;
   private final HTablePool pool;
   private final RESTMetrics metrics = new RESTMetrics();
+  private final HBaseAdmin admin;
 
   /**
    * @return the RESTServlet singleton instance
@@ -69,6 +71,11 @@ public class RESTServlet implements Cons
   RESTServlet(Configuration conf) throws IOException {
     this.conf = conf;
     this.pool = new HTablePool(conf, 10);
+    this.admin = new HBaseAdmin(conf);
+  }
+
+  HBaseAdmin getAdmin() {
+    return admin;
   }
 
   HTablePool getTablePool() {

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java?rev=1427227&r1=1427226&r2=1427227&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RootResource.java Mon Dec 31 19:13:20 2012
@@ -37,7 +37,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.rest.model.TableListModel;
 import org.apache.hadoop.hbase.rest.model.TableModel;
 
@@ -62,8 +61,7 @@ public class RootResource extends Resour
 
   private final TableListModel getTableList() throws IOException {
     TableListModel tableList = new TableListModel();
-    HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
-    HTableDescriptor[] list = admin.listTables();
+    HTableDescriptor[] list = servlet.getAdmin().listTables();
     for (HTableDescriptor htd: list) {
       tableList.add(new TableModel(htd.getNameAsString()));
     }

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java?rev=1427227&r1=1427226&r2=1427227&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java Mon Dec 31 19:13:20 2012
@@ -182,7 +182,7 @@ public class SchemaResource extends Reso
       final UriInfo uriInfo) {
     try {
       byte[] name = Bytes.toBytes(tableResource.getName());
-      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
+      HBaseAdmin admin = servlet.getAdmin();
       if (replace || !admin.tableExists(name)) {
         return replace(name, model, uriInfo, admin);
       } else {
@@ -224,7 +224,7 @@ public class SchemaResource extends Reso
     }
     servlet.getMetrics().incrementRequests(1);
     try {
-      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
+      HBaseAdmin admin = servlet.getAdmin();
       boolean success = false;
       for (int i = 0; i < 10; i++) try {
         admin.disableTable(tableResource.getName());

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java?rev=1427227&r1=1427226&r2=1427227&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java Mon Dec 31 19:13:20 2012
@@ -37,7 +37,6 @@ import org.apache.commons.logging.LogFac
 import org.apache.hadoop.hbase.ClusterStatus;
 import org.apache.hadoop.hbase.HServerLoad;
 import org.apache.hadoop.hbase.ServerName;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.rest.model.StorageClusterStatusModel;
 
 public class StorageClusterStatusResource extends ResourceBase {
@@ -67,8 +66,7 @@ public class StorageClusterStatusResourc
     }
     servlet.getMetrics().incrementRequests(1);
     try {
-      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
-      ClusterStatus status = admin.getClusterStatus();
+      ClusterStatus status = servlet.getAdmin().getClusterStatus();
       StorageClusterStatusModel model = new StorageClusterStatusModel();
       model.setRegions(status.getRegionsCount());
       model.setRequests(status.getRequestsCount());

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterVersionResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterVersionResource.java?rev=1427227&r1=1427226&r2=1427227&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterVersionResource.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterVersionResource.java Mon Dec 31 19:13:20 2012
@@ -34,7 +34,6 @@ import javax.ws.rs.core.Response.Respons
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.rest.model.StorageClusterVersionModel;
 
 public class StorageClusterVersionResource extends ResourceBase {
@@ -64,9 +63,8 @@ public class StorageClusterVersionResour
     }
     servlet.getMetrics().incrementRequests(1);
     try {
-      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
       StorageClusterVersionModel model = new StorageClusterVersionModel();
-      model.setVersion(admin.getClusterStatus().getHBaseVersion());
+      model.setVersion(servlet.getAdmin().getClusterStatus().getHBaseVersion());
       ResponseBuilder response = Response.ok(model);
       response.cacheControl(cacheControl);
       servlet.getMetrics().incrementSucessfulGetRequests(1);

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java?rev=1427227&r1=1427226&r2=1427227&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/TableResource.java Mon Dec 31 19:13:20 2012
@@ -27,8 +27,6 @@ import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.QueryParam;
 
-import org.apache.hadoop.hbase.client.HBaseAdmin;
-
 public class TableResource extends ResourceBase {
 
   String table;
@@ -53,12 +51,7 @@ public class TableResource extends Resou
    * @throws IOException
    */
   boolean exists() throws IOException {
-    HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
-    try {
-      return admin.tableExists(table);
-    } finally {
-      admin.close();
-    }
+    return servlet.getAdmin().tableExists(table);
   }
 
   @Path("exists")