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 2010/10/19 01:04:23 UTC

svn commit: r1024057 - in /hbase/branches/0.20: ./ src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/

Author: apurtell
Date: Mon Oct 18 23:04:22 2010
New Revision: 1024057

URL: http://svn.apache.org/viewvc?rev=1024057&view=rev
Log:
HBASE-3121 [rest] Do not perform cache control when returning results

Modified:
    hbase/branches/0.20/CHANGES.txt
    hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java
    hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java
    hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java

Modified: hbase/branches/0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.20/CHANGES.txt?rev=1024057&r1=1024056&r2=1024057&view=diff
==============================================================================
--- hbase/branches/0.20/CHANGES.txt (original)
+++ hbase/branches/0.20/CHANGES.txt Mon Oct 18 23:04:22 2010
@@ -8,6 +8,8 @@ Release 0.20.7 - Unreleased
    HBASE-2942  Custom filters should not require registration in
                HBaseObjectWritable (Gary Helmling via Andrew Purtell)
    HBASE-2906  [rest/stargate] URI decoding in RowResource
+   HBASE-3121  [rest/stargate] Do not perform cache control when returning
+               results
 
   IMPROVEMENTS
    HBASE-2988  Support alternate compression for major compactions

Modified: hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java?rev=1024057&r1=1024056&r2=1024057&view=diff
==============================================================================
--- hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java (original)
+++ hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java Mon Oct 18 23:04:22 2010
@@ -21,13 +21,9 @@
 package org.apache.hadoop.hbase.stargate;
 
 import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.HTablePool;
 import org.apache.hadoop.hbase.stargate.metrics.StargateMetrics;
@@ -42,8 +38,6 @@ public class RESTServlet implements Cons
   HBaseConfiguration conf;
   HTablePool pool;
   AtomicBoolean stopping = new AtomicBoolean(false);
-  Map<String,Integer> maxAgeMap = 
-    Collections.synchronizedMap(new HashMap<String,Integer>());
   StargateMetrics metrics = new StargateMetrics();
 
   /**
@@ -77,44 +71,4 @@ public class RESTServlet implements Cons
   StargateMetrics getMetrics() {
     return metrics;
   }
-
-  /**
-   * @param tableName the table name
-   * @return the maximum cache age suitable for use with this table, in
-   *  seconds 
-   * @throws IOException
-   */
-  public int getMaxAge(String tableName) throws IOException {
-    Integer i = maxAgeMap.get(tableName);
-    if (i != null) {
-      return i.intValue();
-    }
-    HTable table = pool.getTable(tableName);
-    try {
-      int maxAge = DEFAULT_MAX_AGE;
-      for (HColumnDescriptor family : 
-          table.getTableDescriptor().getFamilies()) {
-        int ttl = family.getTimeToLive();
-        if (ttl < 0) {
-          continue;
-        }
-        if (ttl < maxAge) {
-          maxAge = ttl;
-        }
-      }
-      maxAgeMap.put(tableName, maxAge);
-      return maxAge;
-    } finally {
-      pool.putTable(table);
-    }
-  }
-
-  /**
-   * Signal that a previously calculated maximum cache age has been
-   * invalidated by a schema change.
-   * @param tableName the table name
-   */
-  public void invalidateMaxAge(String tableName) {
-    maxAgeMap.remove(tableName);
-  }
 }

Modified: hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java?rev=1024057&r1=1024056&r2=1024057&view=diff
==============================================================================
--- hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java (original)
+++ hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java Mon Oct 18 23:04:22 2010
@@ -30,7 +30,6 @@ import javax.ws.rs.POST;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Produces;
 import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.CacheControl;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response;
@@ -55,7 +54,6 @@ public class RowResource extends Resourc
 
   String tableName;
   RowSpec rowspec;
-  CacheControl cacheControl;
 
   /**
    * Constructor
@@ -76,9 +74,6 @@ public class RowResource extends Resourc
     if (versions != null) {
       this.rowspec.setMaxVersions(Integer.valueOf(versions));
     }
-    this.cacheControl = new CacheControl();
-    this.cacheControl.setMaxAge(servlet.getMaxAge(tableName));
-    this.cacheControl.setNoTransform(false);    
   }
 
   @GET
@@ -114,9 +109,7 @@ public class RowResource extends Resourc
         value = generator.next();
       } while (value != null);
       model.addRow(rowModel);
-      ResponseBuilder response = Response.ok(model);
-      response.cacheControl(cacheControl);
-      return response.build();
+      return Response.ok(model).build();
     } catch (IOException e) {
       throw new WebApplicationException(e,
                   Response.Status.SERVICE_UNAVAILABLE);
@@ -143,7 +136,6 @@ public class RowResource extends Resourc
       }
       KeyValue value = generator.next();
       ResponseBuilder response = Response.ok(value.getValue());
-      response.cacheControl(cacheControl);
       response.header("X-Timestamp", value.getTimestamp());
       return response.build();
     } catch (IOException e) {

Modified: hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java?rev=1024057&r1=1024056&r2=1024057&view=diff
==============================================================================
--- hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java (original)
+++ hbase/branches/0.20/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java Mon Oct 18 23:04:22 2010
@@ -169,7 +169,6 @@ public class SchemaResource extends Reso
   private Response update(final TableSchemaModel model, final boolean replace,
       final UriInfo uriInfo) {
     try {
-      servlet.invalidateMaxAge(tableName);
       byte[] name = Bytes.toBytes(tableName);
       HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
       if (replace || !admin.tableExists(name)) {