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 2013/06/27 07:06:29 UTC
svn commit: r1497211 - in /hbase/branches/0.94/src:
main/java/org/apache/hadoop/hbase/rest/RowResource.java
test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
Author: apurtell
Date: Thu Jun 27 05:06:29 2013
New Revision: 1497211
URL: http://svn.apache.org/r1497211
Log:
HBASE-8811. REST service ignores misspelled 'check' parameter, causing unexpected mutations (Chip Salzenberg and Andrew Purtell)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java?rev=1497211&r1=1497210&r2=1497211&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/RowResource.java Thu Jun 27 05:06:29 2013
@@ -181,7 +181,9 @@ public class RowResource extends Resourc
} else if (CHECK_DELETE.equalsIgnoreCase(check)) {
return checkAndDelete(model);
} else if (check != null && check.length() > 0) {
- LOG.warn("Unknown check value: " + check + ", ignored");
+ return Response.status(Response.Status.BAD_REQUEST)
+ .type(MIMETYPE_TEXT).entity("Invalid check value '" + check + "'" + CRLF)
+ .build();
}
HTablePool pool = servlet.getTablePool();
Modified: hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java?rev=1497211&r1=1497210&r2=1497211&view=diff
==============================================================================
--- hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java (original)
+++ hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java Thu Jun 27 05:06:29 2013
@@ -667,6 +667,23 @@ public class TestRowResource {
}
}
+ @Test
+ public void testInvalidCheckParam() throws IOException, JAXBException {
+ CellSetModel cellSetModel = new CellSetModel();
+ RowModel rowModel = new RowModel(ROW_1);
+ rowModel.addCell(new CellModel(Bytes.toBytes(COLUMN_1),
+ Bytes.toBytes(VALUE_1)));
+ cellSetModel.addRow(rowModel);
+ StringWriter writer = new StringWriter();
+ marshaller.marshal(cellSetModel, writer);
+
+ final String path = "/" + TABLE + "/" + ROW_1 + "/" + COLUMN_1 + "?check=blah";
+
+ Response response = client.put(path, Constants.MIMETYPE_XML,
+ Bytes.toBytes(writer.toString()));
+ assertEquals(response.getCode(), 400);
+ }
+
@org.junit.Rule
public org.apache.hadoop.hbase.ResourceCheckerJUnitRule cu =
new org.apache.hadoop.hbase.ResourceCheckerJUnitRule();