Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-8025

zkcli fails when SERVER_GC_OPTS is enabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.94.4
    • 0.98.0, 0.94.6, 0.95.0
    • None
    • None
    • Reviewed

    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

        1. HBASE-8025-0.94.patch
          0.7 kB
          Dave Latham
        2. 8025-alt.txt
          4 kB
          Lars Hofhansl

        Issue Links

          Activity

            People

              davelatham Dave Latham
              davelatham Dave Latham
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: