From e911bb7e21a2dad6f2e595868914533ae731d0da Mon Sep 17 00:00:00 2001 From: Karthik Palanisamy Date: Tue, 8 Oct 2019 03:16:47 -0700 Subject: [PATCH] HBASE-23134 Enable_all and Disable_all table by Regex fail from Shell (#698) Signed-off-by: Duo Zhang --- hbase-shell/src/main/ruby/hbase/admin.rb | 12 ++++++------ hbase-shell/src/test/ruby/hbase/admin_test.rb | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/hbase-shell/src/main/ruby/hbase/admin.rb b/hbase-shell/src/main/ruby/hbase/admin.rb index 6658caf41da..7b31ef87937 100644 --- a/hbase-shell/src/main/ruby/hbase/admin.rb +++ b/hbase-shell/src/main/ruby/hbase/admin.rb @@ -327,15 +327,15 @@ module Hbase def enable_all(regex) pattern = Pattern.compile(regex.to_s) failed = java.util.ArrayList.new - admin.listTableNames(pattern).each do |table_name| + @admin.listTableNames(pattern).each do |table_name| begin - admin.enableTable(table_name) + @admin.enableTable(table_name) rescue java.io.IOException => e puts "table:#{table_name}, error:#{e.toString}" failed.add(table_name) end end - @failed + failed end #---------------------------------------------------------------------------------------------- @@ -351,15 +351,15 @@ module Hbase def disable_all(regex) pattern = Pattern.compile(regex.to_s) failed = java.util.ArrayList.new - admin.listTableNames(pattern).each do |table_name| + @admin.listTableNames(pattern).each do |table_name| begin - admin.disableTable(table_name) + @admin.disableTable(table_name) rescue java.io.IOException => e puts "table:#{table_name}, error:#{e.toString}" failed.add(table_name) end end - @failed + failed end #--------------------------------------------------------------------------------------------- diff --git a/hbase-shell/src/test/ruby/hbase/admin_test.rb b/hbase-shell/src/test/ruby/hbase/admin_test.rb index 7568c24485f..cc90fcf5753 100644 --- a/hbase-shell/src/test/ruby/hbase/admin_test.rb +++ b/hbase-shell/src/test/ruby/hbase/admin_test.rb @@ -418,6 +418,22 @@ module Hbase #------------------------------------------------------------------------------- + define_test 'enable and disable tables by regex' do + @t1 = 't1' + @t2 = 't11' + @regex = 't1.*' + command(:create, @t1, 'f') + command(:create, @t2, 'f') + admin.disable_all(@regex) + assert(command(:is_disabled, @t1)) + assert(command(:is_disabled, @t2)) + admin.enable_all(@regex) + assert(command(:is_enabled, @t1)) + assert(command(:is_enabled, @t2)) + end + + #------------------------------------------------------------------------------- + define_test "list_regions should fail for disabled table" do drop_test_table(@create_test_name) admin.create(@create_test_name, 'a')