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

Sean Busbey commented on HBASE-15199:
-------------------------------------

JRUBY_HOME needs to be jruby install, not just a location that includes a 
renamed jruby-complete jar. jruby.jar that it looks for isn't meant to be the 
whole shebang (note how the shell sets the jruby support files to look in 
JRUBY_HOME/lib, that's where it expects to find e.g. the ruby support files 
that your invocation is complaining about).

{code}
Downloads busbey$ curl -O 
https://s3.amazonaws.com/jruby.org/downloads/1.6.8/jruby-bin-1.6.8.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 14.9M  100 14.9M    0     0  3960k      0  0:00:03  0:00:03 --:--:-- 3960k
Downloads busbey$ tar xzf jruby-bin-1.6.8.tar.gz
Downloads busbey$ cd hbase-2.0.0-SNAPSHOT
hbase-2.0.0-SNAPSHOT busbey$ JRUBY_HOME=~/Downloads/jruby-1.6.8 ./bin/hbase 
shell
2017-05-04 18:37:26,740 WARN  [main] util.NativeCodeLoader: Unable to load 
native-hadoop library for your platform... using builtin-java classes where 
applicable
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in 
[jar:file:/Users/busbey/tmp_projects/hbase/hbase-assembly/target/hbase-2.0.0-SNAPSHOT/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in 
[jar:file:/usr/local/Cellar/hadoop/2.7.3/libexec/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
Version 2.0.0-SNAPSHOT, r01af27061e97dd82de79f6900189c868f8919a2c, Thu May  4 
18:22:39 CDT 2017
Took 0.0440 seconds                                                             
                                                                                
                                            
1.8.7-p357 :001 > exit
{code}

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

Reply via email to