You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by al...@apache.org on 2019/03/11 07:29:51 UTC
[hbase] branch branch-2.2 updated: HBASE-22011
ThriftUtilities.getFromThrift should set filter when not set columns
This is an automated email from the ASF dual-hosted git repository.
allan163 pushed a commit to branch branch-2.2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.2 by this push:
new 660d854 HBASE-22011 ThriftUtilities.getFromThrift should set filter when not set columns
660d854 is described below
commit 660d854168f606732413062ab37b60d3ba902e9b
Author: Bing Xiao <bu...@gmail.com>
AuthorDate: Mon Mar 11 15:26:08 2019 +0800
HBASE-22011 ThriftUtilities.getFromThrift should set filter when not set columns
---
.../hadoop/hbase/thrift2/ThriftUtilities.java | 18 ++++++++----------
.../hadoop/hbase/thrift2/TestThriftConnection.java | 21 +++++++++++++++++++++
2 files changed, 29 insertions(+), 10 deletions(-)
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
index 5c9853f..de56438 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
@@ -180,18 +180,16 @@ public class ThriftUtilities {
out.setCheckExistenceOnly(in.isExistence_only());
}
-
- if (!in.isSetColumns()) {
- return out;
- }
-
- for (TColumn column : in.getColumns()) {
- if (column.isSetQualifier()) {
- out.addColumn(column.getFamily(), column.getQualifier());
- } else {
- out.addFamily(column.getFamily());
+ if (in.isSetColumns()) {
+ for (TColumn column : in.getColumns()) {
+ if (column.isSetQualifier()) {
+ out.addColumn(column.getFamily(), column.getQualifier());
+ } else {
+ out.addFamily(column.getFamily());
+ }
}
}
+
if (in.isSetFilterBytes()) {
out.setFilter(filterFromThrift(in.getFilterBytes()));
}
diff --git a/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftConnection.java b/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftConnection.java
index 2c9bf69..a11f2e8 100644
--- a/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftConnection.java
+++ b/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftConnection.java
@@ -56,6 +56,7 @@ import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
+import org.apache.hadoop.hbase.filter.ColumnCountGetFilter;
import org.apache.hadoop.hbase.filter.ColumnValueFilter;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.PrefixFilter;
@@ -316,6 +317,26 @@ public class TestThriftConnection {
}
@Test
+ public void testHBASE22011()throws Exception{
+ testHBASE22011(thriftConnection, "testHBASE22011Table");
+ testHBASE22011(thriftHttpConnection, "testHBASE22011HttpTable");
+ }
+
+ public void testHBASE22011(Connection connection, String tableName) throws IOException {
+ createTable(thriftAdmin, tableName);
+ try (Table table = connection.getTable(TableName.valueOf(tableName))){
+ Get get = new Get(ROW_2);
+ Result result = table.get(get);
+ assertEquals(2, result.listCells().size());
+
+ ColumnCountGetFilter filter = new ColumnCountGetFilter(1);
+ get.setFilter(filter);
+ result = table.get(get);
+ assertEquals(1, result.listCells().size());
+ }
+ }
+
+ @Test
public void testMultiGet() throws Exception {
testMultiGet(thriftConnection, "testMultiGetTable");
testMultiGet(thriftHttpConnection, "testMultiGetHttpTable");