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:11:41 UTC
[jira] [Assigned] (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 reassigned BIGTOP-2743:
----------------------------------------
Assignee: Roman Shaposhnik
> 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
>
> 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)