You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gx...@apache.org on 2018/09/02 06:35:53 UTC
[5/5] hbase git commit: HBASE-21132 return wrong result in rest
multiget
HBASE-21132 return wrong result in rest multiget
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1eea44c8
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1eea44c8
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1eea44c8
Branch: refs/heads/branch-1
Commit: 1eea44c804e09576a97760b5a6906be8a4401237
Parents: fb74f21
Author: Guangxu Cheng <gu...@gmail.com>
Authored: Thu Aug 30 20:51:41 2018 +0800
Committer: Guangxu Cheng <gu...@gmail.com>
Committed: Sun Sep 2 14:33:56 2018 +0800
----------------------------------------------------------------------
.../hadoop/hbase/rest/MultiRowResource.java | 2 +-
.../hadoop/hbase/rest/TestMultiRowResource.java | 32 ++++++++++++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/1eea44c8/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/MultiRowResource.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/MultiRowResource.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/MultiRowResource.java
index b82cd70..6e0e701 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/MultiRowResource.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/MultiRowResource.java
@@ -92,7 +92,7 @@ public class MultiRowResource extends ResourceBase implements Constants {
ResultGenerator.fromRowSpec(this.tableResource.getName(), rowSpec, null,
!params.containsKey(NOCACHE_PARAM_NAME));
Cell value = null;
- RowModel rowModel = new RowModel(rk);
+ RowModel rowModel = new RowModel(rowSpec.getRow());
if (generator.hasNext()) {
while ((value = generator.next()) != null) {
rowModel.addCell(new CellModel(CellUtil.cloneFamily(value), CellUtil
http://git-wip-us.apache.org/repos/asf/hbase/blob/1eea44c8/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java
index e58be13..7c44e4b 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java
@@ -236,5 +236,37 @@ public class TestMultiRowResource {
client.delete(row_5_url, extraHdr);
}
+ @Test
+ public void testMultiCellGetWithColsInQueryPathJSON() throws IOException, JAXBException {
+ String row_5_url = "/" + TABLE + "/" + ROW_1 + "/" + COLUMN_1;
+ String row_6_url = "/" + TABLE + "/" + ROW_2 + "/" + COLUMN_2;
+
+ StringBuilder path = new StringBuilder();
+ path.append("/");
+ path.append(TABLE);
+ path.append("/multiget/?row=");
+ path.append(ROW_1);
+ path.append("/");
+ path.append(COLUMN_1);
+ path.append("&row=");
+ path.append(ROW_2);
+ path.append("/");
+ path.append(COLUMN_1);
+
+ client.post(row_5_url, Constants.MIMETYPE_BINARY, Bytes.toBytes(VALUE_1), extraHdr);
+ client.post(row_6_url, Constants.MIMETYPE_BINARY, Bytes.toBytes(VALUE_2), extraHdr);
+
+ Response response = client.get(path.toString(), Constants.MIMETYPE_JSON);
+ assertEquals(200, response.getCode());
+ ObjectMapper mapper = new JacksonJaxbJsonProvider().locateMapper(
+ CellSetModel.class, MediaType.APPLICATION_JSON_TYPE);
+ CellSetModel cellSet = mapper.readValue(response.getBody(), CellSetModel.class);
+ assertEquals(1, cellSet.getRows().size());
+ assertEquals(ROW_1, Bytes.toString(cellSet.getRows().get(0).getKey()));
+ assertEquals(VALUE_1, Bytes.toString(cellSet.getRows().get(0).getCells().get(0).getValue()));
+
+ client.delete(row_5_url, extraHdr);
+ client.delete(row_6_url, extraHdr);
+ }
}