Skip to content

HBASE-24806 Small Updates to Functionality of Shell IRB Workspace#2232

Merged
saintstack merged 2 commits intoapache:masterfrom
bitoffdev:HBASE-24806
Aug 18, 2020
Merged

HBASE-24806 Small Updates to Functionality of Shell IRB Workspace#2232
saintstack merged 2 commits intoapache:masterfrom
bitoffdev:HBASE-24806

Conversation

@bitoffdev
Copy link
Contributor

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.

- 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.
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 52s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 25s Maven dependency ordering for branch
_ Patch Compile Tests _
+0 🆗 mvndep 0m 7s Maven dependency ordering for patch
-0 ⚠️ rubocop 0m 18s The patch generated 10 new + 85 unchanged - 7 fixed = 95 total (was 92)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
_ Other Tests _
+1 💚 asflicense 0m 24s The patch does not generate ASF License warnings.
3m 31s
Subsystem Report/Notes
Docker Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2232
Optional Tests dupname asflicense rubocop
uname Linux 5758d696fa75 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 7b099ea
rubocop https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-general-check/output/diff-patch-rubocop.txt
Max. process+thread count 52 (vs. ulimit of 12500)
modules C: . hbase-shell U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) rubocop=0.80.0
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Member

@ndimiduk ndimiduk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me, though maybe someone with more ruby experience should have a look.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 48s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 10s Maven dependency ordering for branch
+1 💚 mvninstall 5m 11s master passed
-0 ⚠️ javadoc 0m 19s root in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 4m 47s the patch passed
-0 ⚠️ javadoc 0m 17s root in the patch failed.
_ Other Tests _
-1 ❌ unit 188m 3s root in the patch failed.
203m 15s
Subsystem Report/Notes
Docker Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2232
Optional Tests javac javadoc unit
uname Linux 22acdedd77c5 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 7b099ea
Default Java 2020-01-14
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-root.txt
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-root.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-root.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/testReport/
Max. process+thread count 6061 (vs. ulimit of 12500)
modules C: hbase-shell . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 37s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 25s Maven dependency ordering for branch
+1 💚 mvninstall 4m 34s master passed
+1 💚 javadoc 2m 48s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 4m 46s the patch passed
+1 💚 javadoc 3m 7s the patch passed
_ Other Tests _
-1 ❌ unit 271m 40s root in the patch failed.
290m 49s
Subsystem Report/Notes
Docker Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2232
Optional Tests javac javadoc unit
uname Linux 524ac72e609e 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 7b099ea
Default Java 1.8.0_232
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/testReport/
Max. process+thread count 3891 (vs. ulimit of 12500)
modules C: hbase-shell . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 5m 51s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for branch
_ Patch Compile Tests _
+0 🆗 mvndep 0m 8s Maven dependency ordering for patch
-0 ⚠️ rubocop 0m 16s The patch generated 8 new + 85 unchanged - 7 fixed = 93 total (was 92)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
_ Other Tests _
+1 💚 asflicense 0m 24s The patch does not generate ASF License warnings.
8m 38s
Subsystem Report/Notes
Docker Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #2232
Optional Tests dupname asflicense rubocop
uname Linux d48a93c503bf 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / c1c2e16
rubocop https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-general-check/output/diff-patch-rubocop.txt
Max. process+thread count 52 (vs. ulimit of 12500)
modules C: . hbase-shell U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) rubocop=0.80.0
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 46s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 25s Maven dependency ordering for branch
+1 💚 mvninstall 5m 41s master passed
-0 ⚠️ javadoc 0m 19s root in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 5m 41s the patch passed
-0 ⚠️ javadoc 0m 18s root in the patch failed.
_ Other Tests _
-1 ❌ unit 171m 20s root in the patch failed.
188m 44s
Subsystem Report/Notes
Docker Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #2232
Optional Tests javac javadoc unit
uname Linux 1ae0548b9111 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / c1c2e16
Default Java 2020-01-14
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-root.txt
javadoc https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-root.txt
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-root.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/testReport/
Max. process+thread count 6646 (vs. ulimit of 12500)
modules C: hbase-shell . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 19s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for branch
+1 💚 mvninstall 3m 38s master passed
+1 💚 javadoc 2m 21s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 23s the patch passed
+1 💚 javadoc 2m 21s the patch passed
_ Other Tests _
-1 ❌ unit 267m 6s root in the patch failed.
282m 55s
Subsystem Report/Notes
Docker Client=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #2232
Optional Tests javac javadoc unit
uname Linux 3620ce9b3bbb 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / c1c2e16
Default Java 1.8.0_232
unit https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/testReport/
Max. process+thread count 3736 (vs. ulimit of 12500)
modules C: hbase-shell . U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2232/2/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bitoffdev
Copy link
Contributor Author

Seems like none of the unit test failures are caused by this patch.

@bitoffdev
Copy link
Contributor Author

If @busbey or @madrob get a chance, I'd appreciate a review. Cheers!

@ndimiduk
Copy link
Member

@bitoffdev do you know how to find the test log files? I'm looking at PR-2232/1/artifact/yetus-jdk11-hadoop3-check/output, there's a file called test_logs.zip in the Jenkins build archive. In that archive, I find the TEST-...TestClass.xml file for the failed test and look for more info. For example, in TEST...-TestAdminShell.xml, I find

===============================================================================
Error: test_alter_should_be_able_to_change_coprocessor_attributes(Hbase::AdminAlterTableTest): NoMethodError: undefined method `setCoprocessorWithSpec' for #<Java::OrgApacheHadoopHbaseClient::TableDescriptorBuilder::ModifyableTableDescriptor:0xb6bc6ac>
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/hbase/admin.rb:781:in `block in alter'
org/jruby/RubyHash.java:1350:in `each'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/hbase/admin.rb:771:in `block in alter'
org/jruby/RubyArray.java:1735:in `each'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/hbase/admin.rb:687:in `alter'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands/alter.rb:103:in `command'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands.rb:49:in `block in command_safe'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands.rb:122:in `translate_hbase_exceptions'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands.rb:49:in `command_safe'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell.rb:199:in `internal_command'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell.rb:191:in `command'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/test/ruby/test_helper.rb:55:in `command'
src/test/ruby/hbase/admin_test.rb:958:in `block in test_alter_should_be_able_to_change_coprocessor_attributes'
     955:       # eval() is used to convert a string to regex
     956:       assert_no_match(eval("/" + class_name + "/"), admin.describe(@test_name))
     957:       assert_no_match(eval("/" + cp_key + "/"), admin.describe(@test_name))
  => 958:       command(:alter, @test_name, 'METHOD' => 'table_att', cp_key => cp_value)
     959:       assert_match(eval("/" + class_name + "/"), admin.describe(@test_name))
     960:       assert_match(eval("/" + cp_key + "\\$(\\d+)/"), admin.describe(@test_name))
     961:     end
===============================================================================

@ndimiduk
Copy link
Member

There's also,

===============================================================================
Error: test_describe_should_return_a_description_and_quotas(Hbase::AdminMethodsTest):
  NoMethodError: undefined method `toStringTableAttributes' for #<Java::OrgApacheHadoopHbaseClient::TableDescriptorBuilder::ModifyableTableDescriptor:0x421757ca>
  Did you mean?  toStringCustomizedValues
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/hbase/admin.rb:590:in `get_table_attributes'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands/describe.rb:40:in `command'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands.rb:49:in `block in command_safe'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands.rb:122:in `translate_hbase_exceptions'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell/commands.rb:49:in `command_safe'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell.rb:199:in `internal_command'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/main/ruby/shell.rb:191:in `command'
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/test/ruby/test_helper.rb:55:in `command'
src/test/ruby/hbase/admin_test.rb:528:in `block in test_describe_should_return_a_description_and_quotas'
     525:               LIMIT => '1G',
     526:               POLICY => NO_INSERTS,
     527:               TABLE => @create_test_name)
  => 528:       output = capture_stdout { command(:describe, @create_test_name) }
     529: 
     530:       assert(output.include?("Table #{@create_test_name} is ENABLED"))
     531:       assert(output.include?('COLUMN FAMILIES DESCRIPTION'))
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-2232/yetus-jdk11-hadoop3-check/src/hbase-shell/src/test/ruby/test_helper.rb:161:in `capture_stdout'
src/test/ruby/hbase/admin_test.rb:528:in `block in test_describe_should_return_a_description_and_quotas'
===============================================================================

@saintstack
Copy link
Contributor

@bitoffdev You see Nick's comments above boss?

Copy link
Contributor

@saintstack saintstack left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea of removing exception spew. Maybe shove a before and after up in the JIRA for folks to see?

@bitoffdev
Copy link
Contributor Author

I like the idea of removing exception spew. Maybe shove a before and after up in the JIRA for folks to see?

The end-user functionality hasn't changed. This functionality used to exist in bin/hirb.rb. Moving it here makes it easier to test and reuse.

@bitoffdev
Copy link
Contributor Author

Also, the failures mentioned by @ndimiduk are described and fixed by https://issues.apache.org/jira/browse/HBASE-24874. They are unrelated to this patch.

@saintstack saintstack merged commit 98e3584 into apache:master Aug 18, 2020
asfgit pushed a commit that referenced this pull request Oct 14, 2020
)

* HBASE-24806 Small Updates to Functionality of Shell IRB Workspace

- 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.

* Remove unused variables from shell_test

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: stack <stack@apache.org>
(cherry picked from commit 98e3584)
clarax pushed a commit to clarax/hbase that referenced this pull request Nov 15, 2020
…ache#2232)

* HBASE-24806 Small Updates to Functionality of Shell IRB Workspace

- 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.

* Remove unused variables from shell_test

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: stack <stack@apache.org>
(cherry picked from commit 98e3584)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants