HBASE-23123 Merge_region fails from shell (#690)

Signed-off-by: Viraj Jasani <virajjasani007@gmail.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
Karthik Palanisamy 2019-10-09 10:39:23 -07:00 committed by Michael Stack
parent fdac2ddc81
commit ba12d5b9de
2 changed files with 17 additions and 3 deletions

View File

@ -533,9 +533,12 @@ module Hbase
#----------------------------------------------------------------------------------------------
# Merge two regions
def merge_region(region_a_name, region_b_name, force)
@admin.mergeRegions(region_a_name.to_java_bytes,
region_b_name.to_java_bytes,
java.lang.Boolean.valueOf(force))
@admin.mergeRegionsAsync(
region_a_name.to_java_bytes,
region_b_name.to_java_bytes,
java.lang.Boolean.valueOf(force)
)
return nil
end
#----------------------------------------------------------------------------------------------

View File

@ -574,6 +574,17 @@ module Hbase
define_test "list regions should allow table name" do
command(:list_regions, @test_name)
end
define_test 'merge two regions' do
@t_name = 'hbase_shell_merge'
drop_test_table(@t_name)
admin.create(@t_name, 'a', NUMREGIONS => 10, SPLITALGO => 'HexStringSplit')
r1 = command(:locate_region, @t_name, '')
r2 = command(:locate_region, @t_name, '1')
region1 = r1.getRegion.getRegionNameAsString
region2 = r2.getRegion.getRegionNameAsString
command(:merge_region, region1, region2, true)
end
end
# Simple administration methods tests