[
https://issues.apache.org/jira/browse/HBASE-26741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488807#comment-17488807
]
Peter Somogyi commented on HBASE-26741:
---------------------------------------
The thrown exception is not caught in the
[exception_handler|https://github.com/apache/hbase/blob/branch-2.4/hbase-shell/src/main/ruby/shell.rb#L329-L351]
method when the commands are called via
[IRB::HBaseLoader.file_for_load(script2run)).run|#L212]]. I think that is the
expected behavior of the run command and I'm not able to find any option to
force the exception to be thrown.
[~busbey], [~mdrob]: Do you have any idea how this could be solved?
> Incorrect exception handling in shell
> -------------------------------------
>
> Key: HBASE-26741
> URL: https://issues.apache.org/jira/browse/HBASE-26741
> Project: HBase
> Issue Type: Bug
> Components: shell
> Affects Versions: 2.5.0, 3.0.0-alpha-2, 2.4.10
> Reporter: Peter Somogyi
> Priority: Critical
>
> The exception handling changed in the shell compared to 2.2.
> {noformat}
> ➜ hbase-upstream git:(branch-2.4) ✗ cat commands.txt
> scan 'foo'
> exit
> ➜ hbase-upstream git:(branch-2.4) ✗ bin/hbase shell -n commands.txt
> 2022-02-07 16:21:33,654 WARN [main] util.NativeCodeLoader: Unable to load
> native-hadoop library for your platform... using builtin-java classes where
> applicable
> hbase:001:0> scan 'foo'
> ROW COLUMN+CELL
> Took 0.3890 seconds
> Traceback (most
> recent call last):
> RuntimeError (Unknown table foo!)
> hbase:002:0> exit
> ➜ hbase-upstream git:(branch-2.4) ✗ echo $?
> 0 {noformat}
> The execution continues even after an exception is thrown. In 2.2.7 the
> execution stops when an exception is thrown and the shell exits with error
> code.
> {noformat}
> ➜ hbase-2.2.7 bin/hbase shell -n commands.txt
> 2022-02-07 16:33:54,930 WARN [main] util.NativeCodeLoader: Unable to load
> native-hadoop library for your platform... using builtin-java classes where
> applicable
> ROW COLUMN+CELL
> Took 0.3082 seconds
> RuntimeError:
> Unknown table foo!
> translate_hbase_exceptions at
> /Users/petersomogyi/tmp/hbase-2.2.7/lib/ruby/shell/commands.rb:130
> command_safe at
> /Users/petersomogyi/tmp/hbase-2.2.7/lib/ruby/shell/commands.rb:49
> internal_command at
> /Users/petersomogyi/tmp/hbase-2.2.7/lib/ruby/shell.rb:148
> command at
> /Users/petersomogyi/tmp/hbase-2.2.7/lib/ruby/shell.rb:140
> scan at (eval):2
> <main> at commands.txt:1
> load at org/jruby/RubyKernel.java:973
> <main> at
> /Users/petersomogyi/tmp/hbase-2.2.7/bin/../bin/hirb.rb:186
> ➜ hbase-2.2.7 echo $?
> 1 {noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)