Peter Somogyi created HBASE-23046:
-------------------------------------
Summary: 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
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)