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 2022/04/12 13:03:42 UTC

[hbase] branch branch-2 updated: HBASE-26895 on hbase shell, 'delete/deleteall' for a columnfamily is not working (#4283)

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

zhangduo 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 5dc93d7b8c HBASE-26895 on hbase shell, 'delete/deleteall' for a columnfamily is not working (#4283)
5dc93d7b8c is described below

commit 5dc93d7b8c9ba87215f4877718db956f301273db
Author: eomiks <je...@navercorp.com>
AuthorDate: Tue Apr 12 21:46:21 2022 +0900

    HBASE-26895 on hbase shell, 'delete/deleteall' for a columnfamily is not working (#4283)
    
    Signed-off-by: Duo Zhang <zh...@apache.org>
    (cherry picked from commit ea9bc92ce2aa43a18c944b10153678f86eca2d7a)
---
 hbase-shell/src/main/ruby/hbase/table.rb      | 12 ++++++++++--
 hbase-shell/src/test/ruby/hbase/table_test.rb | 15 +++++++++++++++
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/hbase-shell/src/main/ruby/hbase/table.rb b/hbase-shell/src/main/ruby/hbase/table.rb
index c93e75fc28..fc63785d68 100644
--- a/hbase-shell/src/main/ruby/hbase/table.rb
+++ b/hbase-shell/src/main/ruby/hbase/table.rb
@@ -189,10 +189,18 @@ EOF
       if column != ""
         if column && all_version
           family, qualifier = parse_column_name(column)
-          d.addColumns(family, qualifier, timestamp)
+          if qualifier
+            d.addColumns(family, qualifier, timestamp)
+          else
+            d.addFamily(family, timestamp)
+          end
         elsif column && !all_version
           family, qualifier = parse_column_name(column)
-          d.addColumn(family, qualifier, timestamp)
+          if qualifier
+            d.addColumn(family, qualifier, timestamp)
+          else
+            d.addFamilyVersion(family, timestamp)
+          end
         end
       end
       d
diff --git a/hbase-shell/src/test/ruby/hbase/table_test.rb b/hbase-shell/src/test/ruby/hbase/table_test.rb
index cb274f814a..05b80725ef 100644
--- a/hbase-shell/src/test/ruby/hbase/table_test.rb
+++ b/hbase-shell/src/test/ruby/hbase/table_test.rb
@@ -164,6 +164,21 @@ module Hbase
       assert_nil(res)
     end
 
+    define_test "delete should set proper cell type" do
+      del = @test_table._createdelete_internal('104', 'x:a', 1212)
+      assert_equal(del.get('x'.to_java_bytes, 'a'.to_java_bytes).get(0).getType.getCode,
+                   org.apache.hadoop.hbase::KeyValue::Type::DeleteColumn.getCode)
+      del = @test_table._createdelete_internal('104', 'x:a', 1212, [], false)
+      assert_equal(del.get('x'.to_java_bytes, 'a'.to_java_bytes).get(0).getType.getCode,
+                   org.apache.hadoop.hbase::KeyValue::Type::Delete.getCode)
+      del = @test_table._createdelete_internal('104', 'x', 1212)
+      assert_equal(del.get('x'.to_java_bytes, nil).get(0).getType.getCode,
+                   org.apache.hadoop.hbase::KeyValue::Type::DeleteFamily.getCode)
+      del = @test_table._createdelete_internal('104', 'x', 1212, [], false)
+      assert_equal(del.get('x'.to_java_bytes, nil).get(0).getType.getCode,
+                   org.apache.hadoop.hbase::KeyValue::Type::DeleteFamilyVersion.getCode)
+    end
+
     #-------------------------------------------------------------------------------
 
     define_test "deleteall should work w/o columns and timestamps" do