You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jerry He (JIRA)" <ji...@apache.org> on 2013/06/24 23:22:20 UTC

[jira] [Created] (HBASE-8798) Fix a minor bug in shell command with clone_snapshot table error

Jerry He created HBASE-8798:
-------------------------------

             Summary: Fix a minor bug in shell command with clone_snapshot table error
                 Key: HBASE-8798
                 URL: https://issues.apache.org/jira/browse/HBASE-8798
             Project: HBase
          Issue Type: Bug
          Components: shell, snapshots
    Affects Versions: 0.95.1, 0.94.8
            Reporter: Jerry He
            Assignee: Jerry He
            Priority: Minor


In HBase shell, the syntax for clone_snapshot is:

  hbase> clone_snapshot 'snapshotName', 'tableName'

If the target table already exists, we'll get an error.

For example:
------------------
hbase(main):011:0> clone_snapshot 'mysnapshot1', 'TestTable'

ERROR: Table already exists: mysnapshot1!

Here is some help for this command:
Create a new table by cloning the snapshot content.
There're no copies of data involved.
And writing on the newly created table will not influence the snapshot data.

Examples:
  hbase> clone_snapshot 'snapshotName', 'tableName'
----------------------

The bug is in the ERROR message:
*ERROR: Table already exists: mysnapshot1!*

We should output the table name, not the snapshot name.

Currently, in command.rb, we have the output fixed as args.first for TableExistsException:

{code}
      def translate_hbase_exceptions(*args)
        yield
      rescue org.apache.hadoop.hbase.exceptions.TableNotFoundException
        raise "Unknown table #{args.first}!"
      rescue org.apache.hadoop.hbase.exceptions.NoSuchColumnFamilyException
        valid_cols = table(args.first).get_all_columns.map { |c| c + '*' }
        raise "Unknown column family! Valid column names: #{valid_cols.join(", ")}"
      rescue org.apache.hadoop.hbase.exceptions.TableExistsException
        raise "Table already exists: #{args.first}!"
      end
{code}

This is fine with commands like 'create tableName ...' but not 'clone_snapshot snapshotName tableName'.


--
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