Author: apurtell
Date: Mon Oct 18 22:56:36 2010
New Revision: 1024055
URL: http://svn.apache.org/viewvc?rev=1024055&view=rev
Log:
HBASE-3121 [rest] Do not perform cache control when returning results
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java
Modified: hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1024055&r1=1024054&r2=1024055&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Mon Oct 18 22:56:36 2010
@@ -593,7 +593,7 @@ Release 0.21.0 - Unreleased
HBASE-3098 TestMetaReaderEditor is broken in TRUNK; hangs
HBASE-3110 TestReplicationSink failing in TRUNK up on Hudson
HBASE-3101 bin assembly doesn't include -tests or -source jars
-
+ HBASE-3121 [rest] Do not perform cache control when returning results
IMPROVEMENTS
HBASE-1760 Cleanup TODOs in HTable
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java?rev=1024055&r1=1024054&r2=1024055&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RESTServlet.java Mon
Oct 18 22:56:36 2010
@@ -21,14 +21,9 @@
package org.apache.hadoop.hbase.rest;
import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.client.HTableInterface;
import org.apache.hadoop.hbase.client.HTablePool;
import org.apache.hadoop.hbase.rest.metrics.RESTMetrics;
@@ -39,8 +34,6 @@ public class RESTServlet implements Cons
private static RESTServlet INSTANCE;
private final Configuration conf;
private final HTablePool pool;
- private final Map<String,Integer> maxAgeMap =
- Collections.synchronizedMap(new HashMap<String,Integer>());
private final RESTMetrics metrics = new RESTMetrics();
/**
@@ -100,44 +93,4 @@ public class RESTServlet implements Cons
RESTMetrics 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();
- }
- HTableInterface 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);
- }
}
\ No newline at end of file
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java?rev=1024055&r1=1024054&r2=1024055&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java Mon
Oct 18 22:56:36 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;
@@ -56,7 +55,6 @@ public class RowResource extends Resourc
String tableName;
RowSpec rowspec;
- CacheControl cacheControl;
/**
* Constructor
@@ -77,9 +75,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
@@ -115,9 +110,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);
@@ -144,7 +137,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/trunk/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java?rev=1024055&r1=1024054&r2=1024055&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java
Mon Oct 18 22:56:36 2010
@@ -148,7 +148,7 @@ public class SchemaResource extends Reso
hcd.setValue(e.getKey().getLocalPart(), e.getValue().toString());
}
if (htd.hasFamily(hcd.getName())) {
- admin.modifyColumn(name, hcd.getName(), hcd);
+ admin.modifyColumn(name, hcd);
} else {
admin.addColumn(model.getName(), hcd);
}
@@ -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)) {