Description
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.
Attachments
Attachments
Issue Links
- is related to
-
HBASE-7153 print gc option in hbase-env.sh affects hbase zkcli
- Closed
- relates to
-
HBASE-7091 support custom GC options in hbase-env.sh
- Closed