You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2018/04/08 09:35:26 UTC
[11/50] [abbrv] hbase git commit: HBASE-20231 Not able to delete
column family from a row using RemoteHTable
HBASE-20231 Not able to delete column family from a row using RemoteHTable
Signed-off-by: Ashish Singhi <as...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7abaf22a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7abaf22a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7abaf22a
Branch: refs/heads/HBASE-19064
Commit: 7abaf22a12cc9e2655ff57ad46f66e2189fd52e2
Parents: 5937202
Author: Pankaj Kumar <pa...@huawei.com>
Authored: Wed Apr 4 10:11:09 2018 +0530
Committer: Ashish Singhi <as...@apache.org>
Committed: Wed Apr 4 10:11:09 2018 +0530
----------------------------------------------------------------------
.../hadoop/hbase/rest/client/RemoteHTable.java | 9 +++++---
.../hbase/rest/client/TestRemoteTable.java | 22 ++++++++++++++++++++
2 files changed, 28 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/7abaf22a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
index cc3efdd..29b48e1 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java
@@ -115,13 +115,16 @@ public class RemoteHTable implements Table {
Iterator ii = quals.iterator();
while (ii.hasNext()) {
sb.append(toURLEncodedBytes((byte[])e.getKey()));
- sb.append(':');
Object o = ii.next();
// Puts use byte[] but Deletes use KeyValue
if (o instanceof byte[]) {
- sb.append(toURLEncodedBytes((byte[])o));
+ sb.append(':');
+ sb.append(toURLEncodedBytes((byte[]) o));
} else if (o instanceof KeyValue) {
- sb.append(toURLEncodedBytes(CellUtil.cloneQualifier((KeyValue)o)));
+ if (((KeyValue) o).getQualifierLength() != 0) {
+ sb.append(':');
+ sb.append(toURLEncodedBytes(CellUtil.cloneQualifier((KeyValue) o)));
+ }
} else {
throw new RuntimeException("object type not handled");
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/7abaf22a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/TestRemoteTable.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/TestRemoteTable.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/TestRemoteTable.java
index 5053d91..c6f5195 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/TestRemoteTable.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/TestRemoteTable.java
@@ -353,18 +353,27 @@ public class TestRemoteTable {
Put put = new Put(ROW_3);
put.addColumn(COLUMN_1, QUALIFIER_1, VALUE_1);
put.addColumn(COLUMN_2, QUALIFIER_2, VALUE_2);
+ put.addColumn(COLUMN_3, QUALIFIER_1, VALUE_1);
+ put.addColumn(COLUMN_3, QUALIFIER_2, VALUE_2);
remoteTable.put(put);
Get get = new Get(ROW_3);
get.addFamily(COLUMN_1);
get.addFamily(COLUMN_2);
+ get.addFamily(COLUMN_3);
Result result = remoteTable.get(get);
byte[] value1 = result.getValue(COLUMN_1, QUALIFIER_1);
byte[] value2 = result.getValue(COLUMN_2, QUALIFIER_2);
+ byte[] value3 = result.getValue(COLUMN_3, QUALIFIER_1);
+ byte[] value4 = result.getValue(COLUMN_3, QUALIFIER_2);
assertNotNull(value1);
assertTrue(Bytes.equals(VALUE_1, value1));
assertNotNull(value2);
assertTrue(Bytes.equals(VALUE_2, value2));
+ assertNotNull(value3);
+ assertTrue(Bytes.equals(VALUE_1, value3));
+ assertNotNull(value4);
+ assertTrue(Bytes.equals(VALUE_2, value4));
Delete delete = new Delete(ROW_3);
delete.addColumn(COLUMN_2, QUALIFIER_2);
@@ -394,6 +403,19 @@ public class TestRemoteTable {
assertTrue(Bytes.equals(VALUE_1, value1));
assertNull(value2);
+ // Delete column family from row
+ delete = new Delete(ROW_3);
+ delete.addFamily(COLUMN_3);
+ remoteTable.delete(delete);
+
+ get = new Get(ROW_3);
+ get.addFamily(COLUMN_3);
+ result = remoteTable.get(get);
+ value3 = result.getValue(COLUMN_3, QUALIFIER_1);
+ value4 = result.getValue(COLUMN_3, QUALIFIER_2);
+ assertNull(value3);
+ assertNull(value4);
+
delete = new Delete(ROW_3);
remoteTable.delete(delete);