hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karan Mehta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14925) Develop HBase shell command/tool to list table's region info through command line
Date Thu, 06 Apr 2017 18:26:41 GMT

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

Karan Mehta commented on HBASE-14925:

bq. I could not find the start_time variable in the patch and also end_time variable value
not being used anywhere in the patch. What am I missing ? Can you point me ?

Here is the code snippet from the {{commands.rb}} file. The method {{command_safe()}} is a
wrapper to the actual command call which initializes the global variable {{start_time}}. It
also automatically computes the value of {{end_time}} and displays the total execution time.
We can override these values. Since I didn't want the output formatting and display time to
be included in the actual execution of the command, I provided a value to that variable before
the output stuff. Does that seem okay?

      #wrap an execution of cmd to catch hbase exceptions
      # cmd - command name to execute
      # args - arguments to pass to the command
      def command_safe(debug, cmd = :command, *args)
        # Commands can overwrite start_time to skip time used in some kind of setup.
        # See count.rb for example.
        @start_time = Time.now
        # send is internal ruby method to call 'cmd' with *args
        #(everything is a message, so this is just the formal semantics to support that idiom)
        translate_hbase_exceptions(*args) { send(cmd, *args) }
      rescue => e
        rootCause = e
        while rootCause != nil && rootCause.respond_to?(:cause) && rootCause.cause
!= nil
          rootCause = rootCause.cause
        if @shell.interactive?
          puts "ERROR: #{rootCause}"
          puts "Backtrace: #{rootCause.backtrace.join("\n           ")}" if debug
          puts help
          raise rootCause
        # If end_time is not already set by the command, use current time.
        @end_time ||= Time.now
        formatter.output_str("Took %.4f seconds" % [@end_time - @start_time])

> Develop HBase shell command/tool to list table's region info through command line
> ---------------------------------------------------------------------------------
>                 Key: HBASE-14925
>                 URL: https://issues.apache.org/jira/browse/HBASE-14925
>             Project: HBase
>          Issue Type: Improvement
>          Components: shell
>            Reporter: Romil Choksi
>            Assignee: Karan Mehta
>         Attachments: HBASE-14925.002.patch, HBASE-14925.003.patch, HBASE-14925.patch
> I am going through the hbase shell commands to see if there is anything I can use to
get all the regions info just for a particular table. I don’t see any such command that
provides me that information.
> It would be better to have a command that provides region info, start key, end key etc
taking a table name as the input parameter. This is available through HBase UI on clicking
on a particular table's link
> A tool/shell command to get a list of regions for a table or all tables in a tabular
structured output (that is machine readable)

This message was sent by Atlassian JIRA

View raw message