hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiang Li (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15199) Move jruby jar so only on hbase-shell module classpath; currently globally available
Date Tue, 02 May 2017 06:59:04 GMT

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

Xiang Li commented on HBASE-15199:

Hi [~busbey] thanks for the comments! The errors/warnings reported by shellcheck and your
comments are addressed. Patch 003 for master branch is uploaded.

By the way, regarding
bq. Shouldn't this be just the jruby jar, rather than e.g. also the ruby sources.
If I understand it correctly, for CLASSPATH, xxxx/* contains jar files under xxxx only. The
following paragraph could be found in http://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html
Class path entries can contain the base name wildcard character ( * ), which is considered
equivalent to specifying a list of all of the files in the directory with the extension .jar
or .JAR. For example, the class path entry mydir/* specifies all JAR files in the directory
named mydir. A class path entry consisting of * expands to a list of all the jar files in
the current directory
But I still made the change in patch 003 to use *.jar and a loop to add all jars one by one,
which I believe is more easy to read, explicit, and more controllable (does not rely on Java
implementation as mentioned above).
Thanks for your comment!

I re-submit the patch and will watch the Hadoop QA output to see if there are new errors/warnings
reported by shellcheck.

> 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, HBASE-15199.master.002.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

View raw message