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:27:42 UTC

[hbase] branch branch-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
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 091844c  HBASE-22011 ThriftUtilities.getFromThrift should set filter when not set columns
091844c is described below

commit 091844ce61f16b1f30ecd74240afa0fd5a7f5c4d
Author: Bing Xiao <bu...@gmail.com>
AuthorDate: Mon Mar 11 15:24:12 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");