You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Mike Drob (JIRA)" <ji...@apache.org> on 2018/06/07 22:57:00 UTC

[jira] [Commented] (HBASE-13583) AOT compile our JRuby

    [ https://issues.apache.org/jira/browse/HBASE-13583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16505430#comment-16505430 ] 

Mike Drob commented on HBASE-13583:
-----------------------------------

Running {{java -jar ~/.m2/repository/org/jruby/jruby-complete/9.1.13.0/jruby-complete-9.1.13.0.jar -S jrubyc hbase-shell/src/main/ruby -t /tmp/}} worked great, so I have some hope here.

Patch in current state fails due to arcane error:

{noformat}
[INFO] NameError: uninitialized constant Java::OrgObjectwebAsm::Opcodes::V1_7
[INFO] Did you mean?  Java::OrgObjectwebAsm::Opcodes::V1_4
[INFO]                Java::OrgObjectwebAsm::Opcodes::V1_5
[INFO]                Java::OrgObjectwebAsm::Opcodes::V1_6
[INFO]                Java::OrgObjectwebAsm::Opcodes::V1_1
[INFO]                Java::OrgObjectwebAsm::Opcodes::V1_2
[INFO]                Java::OrgObjectwebAsm::Opcodes::V1_3
[INFO]                         const_missing at org/jruby/RubyModule.java:3343
[INFO]   block in compile_files_with_options at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/jruby/compiler.rb:171
[INFO]   block in compile_files_with_options at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/jruby/compiler.rb:291
[INFO]                                  each at org/jruby/RubyArray.java:1734
[INFO]   block in compile_files_with_options at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/jruby/compiler.rb:290
[INFO]                                  each at org/jruby/RubyArray.java:1734
[INFO]            compile_files_with_options at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/jruby/compiler.rb:281
[INFO]                          compile_argv at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/jruby/compiler.rb:94
[INFO]                                <main> at -e:3
{noformat}

Not sure what it expects from us, but in accordance with Yonik's Law of Patches, here it is.

> AOT compile our JRuby
> ---------------------
>
>                 Key: HBASE-13583
>                 URL: https://issues.apache.org/jira/browse/HBASE-13583
>             Project: HBase
>          Issue Type: Improvement
>          Components: build, scripts, shell
>            Reporter: Nick Dimiduk
>            Assignee: Mike Drob
>            Priority: Major
>         Attachments: HBASE-13583.patch
>
>
> Our Jruby code seems to not keep up well with Java changes. We should investigate adding a compilation step for our shell and the rb scripts in bin to ensure they're calling methods that exist on classes that exist. This looks like as good a starting point as any: https://github.com/jruby/jruby/wiki/GeneratingJavaClasses



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)