[
https://issues.apache.org/jira/browse/HBASE-15199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15985044#comment-15985044
]
Xiang Li edited comment on HBASE-15199 at 4/26/17 4:10 PM:
-----------------------------------------------------------
Updated patch 001 (considering Stack's patch as 000) for master, in accordance
with Stack's idea, by moving jruby-complete from lib to lib/ruby.
3 files are updated:
(1) hadoop-two-compat.xml in assembly is updated to move jruby-complete from
lib to lib/ruby when doing assembly.
(2) hbase(for Linux) and hbase.cmd(for Windows) are updated to add
jruby-complete to classpath only when hbase shell.
I tested the patch on Linux (not on Windows), by using HBase 1.2.4. HBase shell
worked well, while master and region server could be launched correctly without
jruby-complete in the classpath.
[~stack] and [~busbey], make sense to you? My only concern is that if only
hbase shell needs jruby-complete when runtime. Seems yes, as the output of
dependency tree of maven shows only hbase shell and assembly use jruby-complete
as a dependency.
was (Author: water):
Updated patch 001 (considering Stack's patch as 000) for master, in accordance
with Stack's idea, by moving jruby-complete from lib to lib/ruby.
3 files are updated:
(1) hadoop-two-compat.xml in assembly is updated to move jruby-complete from
lib to lib/ruby when doing assembly.
(2) hbase(for Linux) and hbase.cmd(for Windows) are updated to add
jruby-complete to classpath only when hbase shell.
I tested the patch on Linux (not on Windows), by using HBase 1.2.4. HBase shell
worked well, while master and region server could be launched correctly without
jruby-complete in the classpath.
[~stack] and [~busbey], make sense to you? My only concern is that if only
hbase shell needs jruby-complete when runtime. Seem yes, as the output of
dependency tree of maven shows only hbase shell and assembly use jruby-complete
as a dependency.
> Move jruby jar so only on hbase-shell module classpath; currently globally
> available
> ------------------------------------------------------------------------------------
>
> Key: HBASE-15199
> URL: https://issues.apache.org/jira/browse/HBASE-15199
> Project: HBase
> Issue Type: Task
> Components: dependencies, jruby, shell
> Reporter: stack
> Assignee: Xiang Li
> Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 15199.txt, HBASE-15199.master.001.patch
>
>
> A suggestion that came up out of internal issue (filed by Mr Jan Van Besien)
> was to move the scope of the jruby include down so it is only a dependency
> for the hbase-shell. jruby jar brings in a bunch of dependencies (joda time
> for example) which can clash with the includes of others. Our Sean suggests
> that could be good to shut down exploit possibilities if jruby was not
> globally available. Only downside I can think is that it may no longer be
> available to our bin/*rb scripts if we move the jar but perhaps these can be
> changed so they can find the ruby jar in new location.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)