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

Jesse Yates edited comment on HBASE-8025 at 3/14/13 5:22 PM:
-------------------------------------------------------------

Yeah, for even something like:
{code}
 #default to server opts
 GC_OPTS=$SERVER_GC_OPTS

 if [ "$COMMAND" = "shell" ] ; then
   # eg export JRUBY_HOME=/usr/local/share/jruby
   if [ "$JRUBY_HOME" != "" ] ; then
     CLASSPATH="$JRUBY_HOME/lib/jruby.jar:$CLASSPATH"
     HBASE_OPTS="$HBASE_OPTS -Djruby.home=$JRUBY_HOME 
-Djruby.lib=$JRUBY_HOME/lib"
     GC_OPTS=$CLIENT_GC_OPTS
   fi
 elif [ "$COMMAND" = "hbck" ] ; then
   CLASS='org.apache.hadoop.hbase.util.HBaseFsck'
   GC_OPTS=$CLIENT_GC_OPTS
...

   HBASE_OPTS="$HBASE_OPTS $GC_OPTS"
{code}
                
      was (Author: jesse_yates):
    Yeah, for even something like:
{code}
 #default to server opts
 GC_OPTS=$SERVER_GC_OPTS

 if [ "$COMMAND" = "shell" ] ; then
   # eg export JRUBY_HOME=/usr/local/share/jruby
   if [ "$JRUBY_HOME" != "" ] ; then
     CLASSPATH="$JRUBY_HOME/lib/jruby.jar:$CLASSPATH"
     HBASE_OPTS="$HBASE_OPTS -Djruby.home=$JRUBY_HOME 
-Djruby.lib=$JRUBY_HOME/lib"
     GC_OPTS=$CLIENT_GC_OPTS
   fi
 elif [ "$COMMAND" = "hbck" ] ; then
   CLASS='org.apache.hadoop.hbase.util.HBaseFsck'
   GC_OPTS=$CLIENT_GC_OPTS
...

   HBASE_OPTS="$HBASE_OPTS $GC_OPTS -Djruby.home=$JRUBY_HOME 
-Djruby.lib=$JRUBY_HOME/lib"
{code}
                  
> zkcli fails when SERVER_GC_OPTS is enabled
> ------------------------------------------
>
>                 Key: HBASE-8025
>                 URL: https://issues.apache.org/jira/browse/HBASE-8025
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.4
>            Reporter: Dave Latham
>            Assignee: Dave Latham
>             Fix For: 0.95.0, 0.98.0, 0.94.6
>
>         Attachments: 8025-alt.txt, HBASE-8025-0.94.patch
>
>
> HBASE-7091 added logic to separate GC logging options for some client 
> commands versus server commands.  It uses a list of known client commands 
> ("shell" "hbck" "hlog" "hfile" "zkcli") and uses the server GC logging 
> options for all other invocations of bin/hbase.  When zkcli is invoked, it in 
> turn invokes "hbase org.apache.hadoop.hbase.zookeeper.ZooKeeperMainServerArg" 
> to gather the server command line arguments, but because 
> org.apache.hadoop.hbase.zookeeper.ZooKeeperMainServerArg is not on the white 
> list it enables server GC logging, which causes extra output that causes the 
> zkcli invocation to break.  HBASE-7153 addressed this but the fix only solved 
> the array syntax - not the white list, so the zkcli command still fails.
> There are many other tools you can invoke that are more likely to "client" 
> than "server" options. For example, "bin/hbase org.jruby.Main 
> region_mover.rb" or "bin/hbase org.apache.hadoop.hbase.mapreduce.CopyTable" 
> or "bin/hbase version" or "bin/hbase 
> org.apache.hadoop.hbase.mapreduce.Export". The whitelist of server commands 
> is shorter and easier to maintain than a whitelist of client commands.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to