HBASE-23134 Enable_all and Disable_all table by Regex fail from Shell (#698)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
Karthik Palanisamy 2019-10-08 03:16:47 -07:00 committed by Duo Zhang
parent ff52994076
commit e911bb7e21
2 changed files with 22 additions and 6 deletions

View File

@ -327,15 +327,15 @@ module Hbase
def enable_all(regex) def enable_all(regex)
pattern = Pattern.compile(regex.to_s) pattern = Pattern.compile(regex.to_s)
failed = java.util.ArrayList.new failed = java.util.ArrayList.new
admin.listTableNames(pattern).each do |table_name| @admin.listTableNames(pattern).each do |table_name|
begin begin
admin.enableTable(table_name) @admin.enableTable(table_name)
rescue java.io.IOException => e rescue java.io.IOException => e
puts "table:#{table_name}, error:#{e.toString}" puts "table:#{table_name}, error:#{e.toString}"
failed.add(table_name) failed.add(table_name)
end end
end end
@failed failed
end end
#---------------------------------------------------------------------------------------------- #----------------------------------------------------------------------------------------------
@ -351,15 +351,15 @@ module Hbase
def disable_all(regex) def disable_all(regex)
pattern = Pattern.compile(regex.to_s) pattern = Pattern.compile(regex.to_s)
failed = java.util.ArrayList.new failed = java.util.ArrayList.new
admin.listTableNames(pattern).each do |table_name| @admin.listTableNames(pattern).each do |table_name|
begin begin
admin.disableTable(table_name) @admin.disableTable(table_name)
rescue java.io.IOException => e rescue java.io.IOException => e
puts "table:#{table_name}, error:#{e.toString}" puts "table:#{table_name}, error:#{e.toString}"
failed.add(table_name) failed.add(table_name)
end end
end end
@failed failed
end end
#--------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------

View File

@ -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 define_test "list_regions should fail for disabled table" do
drop_test_table(@create_test_name) drop_test_table(@create_test_name)
admin.create(@create_test_name, 'a') admin.create(@create_test_name, 'a')