bitoffdev opened a new pull request #2232: URL: https://github.com/apache/hbase/pull/2232
Resolves https://issues.apache.org/jira/browse/HBASE-24806 ## High-Level Overview 1. Create exception handler for shell (to hide tracebacks unless debug is on). The handler just replaces exceptions with SystemExit. 2. Get rid of a recently introduced IRB warning (`can't alias help from irb_help`). 3. Create a new module Hbase::Loader that can find ruby scripts using JRuby's loader. This is better than IRB::Loader because it can find anything that can be found directly with `load`, including files inside a Jar. It is necessary so that our shell can _evaluate_ scripts in the $LOAD_PATH/classpath. 4. Update the test runner to catch SystemExits. This will ensure that our unit tests stay potent and cannot fail unnoticed. ## Changelog - Move exception handler from Shell::Shell#eval_io to new method, Shell::Shell#exception_handler - Add unit tests for Shell::Shell#exception_handler - Change Shell::Shell#eval_io to no longer raise SystemExit when any error is seen and update unit test - Update ruby test runner to catch SystemExit and fail to avoid tests that cause the test runner to incorrectly exit successfully - Add Hbase::Loader module to find ruby scripts in the $LOAD_PATH and classpath using JRuby's loader. - In hbase-shell, install IRB commands before exporting HBase commands. The HBase commands will override the IRB commands, and no warning will be printed. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
