You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jesse Yates (JIRA)" <ji...@apache.org> on 2013/03/14 18:24:12 UTC
[jira] [Comment Edited] (HBASE-8025) zkcli fails when
SERVER_GC_OPTS is enabled
[ 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