hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8798) Fix a minor bug in shell command with clone_snapshot table error
Date Mon, 01 Jul 2013 18:14:21 GMT

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

Matteo Bertozzi commented on HBASE-8798:
----------------------------------------

{code}
TableExistsException contains the table name.
Maybe let TableExistsException bubble up ?
{code}
I've done a quick grep, and the TableExistsException from the clone snapshot seems to have
the table name but the other don't... 
Anyway, I prefer this idea... that seems easy and keeps the module generic... update the other
TableExistsException raised in the code to add the table name?
                
> 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.94.8, 0.95.1
>            Reporter: Jerry He
>            Assignee: Jerry He
>            Priority: Minor
>         Attachments: HBASE-8798-trunk.patch
>
>
> 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

Mime
View raw message