You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bigtop.apache.org by "Roman Shaposhnik (JIRA)" <ji...@apache.org> on 2017/04/18 18:13:42 UTC

[jira] [Updated] (BIGTOP-2743) hbase shell does not work on ppc64le

     [ https://issues.apache.org/jira/browse/BIGTOP-2743?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roman Shaposhnik updated BIGTOP-2743:
-------------------------------------
    Fix Version/s: 1.2.1

> hbase shell does not work on ppc64le
> ------------------------------------
>
>                 Key: BIGTOP-2743
>                 URL: https://issues.apache.org/jira/browse/BIGTOP-2743
>             Project: Bigtop
>          Issue Type: Bug
>          Components: hbase
>    Affects Versions: 1.2.0
>            Reporter: Kevin W Monroe
>            Assignee: Roman Shaposhnik
>             Fix For: 1.2.1
>
>
> 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:
> {noformat}
> $ 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
> {noformat}
> 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|https://github.com/jruby/jruby/issues/2912] for details.
> You can work around this by patching {{formatter.rb}}:
> {noformat}
> --- /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
> {noformat}
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)