You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Peter Somogyi (Jira)" <ji...@apache.org> on 2019/09/18 13:40:00 UTC

[jira] [Updated] (HBASE-23046) Remove compatibility case from truncate command

     [ https://issues.apache.org/jira/browse/HBASE-23046?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Somogyi updated HBASE-23046:
----------------------------------
    Status: Patch Available  (was: Open)

> Remove compatibility case from truncate command
> -----------------------------------------------
>
>                 Key: HBASE-23046
>                 URL: https://issues.apache.org/jira/browse/HBASE-23046
>             Project: HBase
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 3.0.0, 2.3.0
>            Reporter: Peter Somogyi
>            Assignee: Peter Somogyi
>            Priority: Minor
>
> The truncate and truncate_preserve commands in shell have a compatibility block to handle the case when Master does not have truncate command.
> This was added in HBASE-8332 for HBase 0.99 so it is safe to remove it now.
> The current compatibility block catches DoNotRetryIOException which can hide different kind of errors and just drops and recreates the table.
> {code:ruby}
> begin
>   puts 'Truncating table...'
>   @admin.truncateTable(table_name, false)
> rescue => e
>   # Handle the compatibility case, where the truncate method doesn't exists on the Master
>   raise e unless e.respond_to?(:cause) && !e.cause.nil?
>   rootCause = e.cause
>   if rootCause.is_a?(org.apache.hadoop.hbase.DoNotRetryIOException)
>     # Handle the compatibility case, where the truncate method doesn't exists on the Master
>     puts 'Dropping table...'
>     @admin.deleteTable(table_name)
>     puts 'Creating table...'
>     @admin.createTable(table_description)
>   else
>     raise e
>   end
> end
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)