Uploaded image for project: 'Bigtop'
  1. Bigtop
  2. BIGTOP-2743

hbase shell does not work on ppc64le

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.0
    • Fix Version/s: 1.2.1
    • Component/s: hbase
    • Labels:
      None

      Description

      After upgrading HBase to 1.1.9 in BIGTOP-2740, the HMaster and RegionServer processes look good on ppc64le. This is a significant improvement, as the previous version (1.1.3) did not work at all.

      However, hbase shell still fails like this with 1.1.9:

      $ hbase shell
      OpenJDK 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
      include_class is deprecated. Use java_import.
      include_class is deprecated. Use java_import.
      include_class is deprecated. Use java_import.
      NoMethodError: undefined method `getTerminal' for Java::Jline::Terminal:Module
        refresh_width at /usr/lib/hbase/lib/ruby/shell/formatter.rb:34
           initialize at /usr/lib/hbase/lib/ruby/shell/formatter.rb:48
               (root) at /usr/lib/hbase/bin/hirb.rb:116
      

      This stems from an incompatibility in the JLine version that ships with the updated JRuby lib (which is required for ppc64le). See HBASE-13338 and jruby issue for details.

      You can work around this by patching formatter.rb:

      --- /usr/lib/hbase/lib/ruby/shell/formatter.rb.old  2017-04-17 23:28:49.339383104 +0000
      +++ /usr/lib/hbase/lib/ruby/shell/formatter.rb    2017-04-17 23:30:46.749288423 +0000
      @@ -31,8 +31,7 @@
             def refresh_width()
               require 'readline'
               if $stdout.tty?
      -          @max_width = Java::jline.Terminal.getTerminal().getTerminalWidth()
      +          @max_width = 0
      

      It's not ideal, but it's a simple enough workaround for anyone needing hbase shell on ppc64le.

      I'm opening this jira to determine how best to apply this workaround, or where to document this as a limitation of HBase 1.1.x on ppc64le.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                oflebbe Olaf Flebbe
                Reporter:
                kwmonroe Kevin W Monroe
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: