This is an automated email from the ASF dual-hosted git repository.

achouhan pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1 by this push:
     new 54c38c8  HBASE-24618 Backport HBASE-21204 to branch-1
54c38c8 is described below

commit 54c38c840c25fd1388884cb8699c4954f0e506bd
Author: Abhishek Singh Chouhan <achou...@apache.org>
AuthorDate: Tue Jun 23 17:43:42 2020 -0700

    HBASE-24618 Backport HBASE-21204 to branch-1
---
 .../hbase/protobuf/generated/CellProtos.java       | 24 ++++++++++++++------
 hbase-protocol/src/main/protobuf/Cell.proto        |  1 +
 .../hbase/client/TestScannersFromClientSide.java   | 26 ++++++++++++++++++++++
 3 files changed, 44 insertions(+), 7 deletions(-)

diff --git 
a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
 
b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
index 7fc4706..9c0ac9b 100644
--- 
a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
+++ 
b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/CellProtos.java
@@ -31,13 +31,17 @@ public final class CellProtos {
      */
     DELETE(2, 8),
     /**
+     * <code>DELETE_FAMILY_VERSION = 10;</code>
+     */
+    DELETE_FAMILY_VERSION(3, 10),
+    /**
      * <code>DELETE_COLUMN = 12;</code>
      */
-    DELETE_COLUMN(3, 12),
+    DELETE_COLUMN(4, 12),
     /**
      * <code>DELETE_FAMILY = 14;</code>
      */
-    DELETE_FAMILY(4, 14),
+    DELETE_FAMILY(5, 14),
     /**
      * <code>MAXIMUM = 255;</code>
      *
@@ -45,7 +49,7 @@ public final class CellProtos {
      * MAXIMUM is used when searching; you look from maximum on down.
      * </pre>
      */
-    MAXIMUM(5, 255),
+    MAXIMUM(6, 255),
     ;
 
     /**
@@ -61,6 +65,10 @@ public final class CellProtos {
      */
     public static final int DELETE_VALUE = 8;
     /**
+     * <code>DELETE_FAMILY_VERSION = 10;</code>
+     */
+    public static final int DELETE_FAMILY_VERSION_VALUE = 10;
+    /**
      * <code>DELETE_COLUMN = 12;</code>
      */
     public static final int DELETE_COLUMN_VALUE = 12;
@@ -85,6 +93,7 @@ public final class CellProtos {
         case 0: return MINIMUM;
         case 4: return PUT;
         case 8: return DELETE;
+        case 10: return DELETE_FAMILY_VERSION;
         case 12: return DELETE_COLUMN;
         case 14: return DELETE_FAMILY;
         case 255: return MAXIMUM;
@@ -2207,11 +2216,12 @@ public final class CellProtos {
       "\030\007 \001(\014\"\220\001\n\010KeyValue\022\013\n\003row\030\001 
\002(\014\022\016\n\006fami" +
       "ly\030\002 \002(\014\022\021\n\tqualifier\030\003 
\002(\014\022\021\n\ttimestamp" +
       "\030\004 \001(\004\022$\n\010key_type\030\005 
\001(\0162\022.hbase.pb.Cell" +
-      "Type\022\r\n\005value\030\006 \001(\014\022\014\n\004tags\030\007 
\001(\014*`\n\010Cel" +
+      "Type\022\r\n\005value\030\006 \001(\014\022\014\n\004tags\030\007 
\001(\014*{\n\010Cel" +
       
"lType\022\013\n\007MINIMUM\020\000\022\007\n\003PUT\020\004\022\n\n\006DELETE\020\010\022"
 +
-      
"\021\n\rDELETE_COLUMN\020\014\022\021\n\rDELETE_FAMILY\020\016\022\014\n",
-      "\007MAXIMUM\020\377\001B=\n*org.apache.hadoop.hbase.p" +
-      "rotobuf.generatedB\nCellProtosH\001\240\001\001"
+      "\031\n\025DELETE_FAMILY_VERSION\020\n\022\021\n\rDELETE_COL",
+      
"UMN\020\014\022\021\n\rDELETE_FAMILY\020\016\022\014\n\007MAXIMUM\020\377\001B="
 +
+      "\n*org.apache.hadoop.hbase.protobuf.gener" +
+      "atedB\nCellProtosH\001\240\001\001"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner 
assigner =
       new 
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
diff --git a/hbase-protocol/src/main/protobuf/Cell.proto 
b/hbase-protocol/src/main/protobuf/Cell.proto
index 2c61035..e518e65 100644
--- a/hbase-protocol/src/main/protobuf/Cell.proto
+++ b/hbase-protocol/src/main/protobuf/Cell.proto
@@ -32,6 +32,7 @@ enum CellType {
     PUT = 4;
 
     DELETE = 8;
+    DELETE_FAMILY_VERSION = 10;
     DELETE_COLUMN = 12;
     DELETE_FAMILY = 14;
 
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
index 7c23f0a..2558be2 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java
@@ -16,6 +16,8 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import static org.apache.hadoop.hbase.HConstants.RPC_CODEC_CONF_KEY;
+import static org.apache.hadoop.hbase.ipc.RpcClient.DEFAULT_CODEC_CLASS;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -575,6 +577,30 @@ public class TestScannersFromClientSide {
        "Testing offset + multiple CFs + maxResults");
   }
 
+  @Test
+  public void testScanRawDeleteFamilyVersion() throws Exception {
+    TableName tableName = TableName.valueOf("testScanRawDeleteFamilyVersion");
+    TEST_UTIL.createTable(tableName, FAMILY);
+    Configuration conf = new Configuration(TEST_UTIL.getConfiguration());
+    conf.set(RPC_CODEC_CONF_KEY, "");
+    conf.set(DEFAULT_CODEC_CLASS, "");
+    try (Connection connection = ConnectionFactory.createConnection(conf);
+        Table table = connection.getTable(tableName)) {
+      Delete delete = new Delete(ROW);
+      delete.addFamilyVersion(FAMILY, 0L);
+      table.delete(delete);
+      Scan scan = new Scan().withStartRow(ROW).setRaw(true);
+      ResultScanner scanner = table.getScanner(scan);
+      int count = 0;
+      while (scanner.next() != null) {
+        count++;
+      }
+      assertEquals(1, count);
+    } finally {
+      TEST_UTIL.deleteTable(tableName);
+    }
+  }
+
   /**
    * Test from client side for scan while the region is reopened
    * on the same region server.

Reply via email to