From ae7ffccfb8bc7b3ae383578520aa92700fa5c697 Mon Sep 17 00:00:00 2001 From: Duo Zhang Date: Mon, 15 Jul 2019 23:06:43 +0800 Subject: [PATCH] HBASE-22661 list_regions command in hbase shell is broken Signed-off-by: Guanghao Zhang --- hbase-shell/src/main/ruby/shell/commands/list_regions.rb | 4 ++-- hbase-shell/src/test/ruby/hbase/admin_test.rb | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/hbase-shell/src/main/ruby/shell/commands/list_regions.rb b/hbase-shell/src/main/ruby/shell/commands/list_regions.rb index 0ce569c0a31..3d6de4c48d9 100644 --- a/hbase-shell/src/main/ruby/shell/commands/list_regions.rb +++ b/hbase-shell/src/main/ruby/shell/commands/list_regions.rb @@ -82,7 +82,7 @@ EOF error = false admin_instance = admin.instance_variable_get('@admin') conn_instance = admin_instance.getConnection - cluster_status = admin_instance.getClusterStatus + cluster_status = org.apache.hadoop.hbase.ClusterStatus.new(admin_instance.getClusterMetrics) hregion_locator_instance = conn_instance.getRegionLocator(TableName.valueOf(table_name)) hregion_locator_list = hregion_locator_instance.getAllRegionLocations.to_a results = [] @@ -103,7 +103,7 @@ EOF end regions.each do |hregion| - hregion_info = hregion.getRegionInfo + hregion_info = hregion.getRegion server_name = hregion.getServerName region_load_map = cluster_status.getLoad(server_name).getRegionsLoad region_load = region_load_map.get(hregion_info.getRegionName) diff --git a/hbase-shell/src/test/ruby/hbase/admin_test.rb b/hbase-shell/src/test/ruby/hbase/admin_test.rb index 44fb509dea5..959159c2031 100644 --- a/hbase-shell/src/test/ruby/hbase/admin_test.rb +++ b/hbase-shell/src/test/ruby/hbase/admin_test.rb @@ -518,6 +518,10 @@ module Hbase encodedRegionName = region.getRegion.getEncodedName command(:unassign, encodedRegionName, true) end + + define_test "list regions should allow table name" do + command(:list_regions, @test_name) + end end # Simple administration methods tests