HBASE-20258 Shell hangs when scanning a disabled table Signed-off-by: Mike Drob <md...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/143ed0d1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/143ed0d1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/143ed0d1 Branch: refs/heads/HBASE-19064 Commit: 143ed0d19d189adf1aea1e79123fee56c6c1adb5 Parents: 8014c5c Author: Balazs Meszaros <balazs.mesza...@cloudera.com> Authored: Tue Mar 27 15:33:54 2018 +0200 Committer: Mike Drob <md...@apache.org> Committed: Fri Apr 6 13:43:48 2018 -0700 ---------------------------------------------------------------------- hbase-shell/src/main/ruby/shell/commands.rb | 3 +++ hbase-shell/src/test/ruby/hbase/table_test.rb | 11 +++++++++++ 2 files changed, 14 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/143ed0d1/hbase-shell/src/main/ruby/shell/commands.rb ---------------------------------------------------------------------- diff --git a/hbase-shell/src/main/ruby/shell/commands.rb b/hbase-shell/src/main/ruby/shell/commands.rb index d7730cf..9fd634c 100644 --- a/hbase-shell/src/main/ruby/shell/commands.rb +++ b/hbase-shell/src/main/ruby/shell/commands.rb @@ -116,6 +116,9 @@ module Shell raise "Unknown table #{strs[0]}!" if strs.size == 1 raise "Unknown table #{args.first}!" end + if cause.is_a?(org.apache.hadoop.hbase.TableNotEnabledException) + raise "Table #{args.first} is disabled!" + end if cause.is_a?(org.apache.hadoop.hbase.UnknownRegionException) raise "Unknown region #{args.first}!" end http://git-wip-us.apache.org/repos/asf/hbase/blob/143ed0d1/hbase-shell/src/test/ruby/hbase/table_test.rb ---------------------------------------------------------------------- diff --git a/hbase-shell/src/test/ruby/hbase/table_test.rb b/hbase-shell/src/test/ruby/hbase/table_test.rb index e7e1b23..c1b288c 100644 --- a/hbase-shell/src/test/ruby/hbase/table_test.rb +++ b/hbase-shell/src/test/ruby/hbase/table_test.rb @@ -695,5 +695,16 @@ module Hbase assert_equal(0, splits.size) assert_equal([], splits) end + + define_test "scan should throw an exception on a disabled table" do + @test_table.disable + begin + assert_raise(RuntimeError) do + @test_table.scan + end + ensure + @test_table.enable + end + end end end