HBASE-13327 Addendum replaced the nested try with a cast of getAdmin() to HBaseAdmin and a call to the original compact/majorCompact method (Solomon)

This commit is contained in:
tedyu 2015-03-26 18:01:21 -07:00
parent 18256fc954
commit 306c44156a
1 changed files with 9 additions and 12 deletions

View File

@ -66,6 +66,7 @@ import org.apache.hadoop.hbase.client.Append;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Increment;
import org.apache.hadoop.hbase.client.OperationWithAttributes;
@ -778,13 +779,11 @@ public class ThriftServerRunner implements Runnable {
@Override
public void compact(ByteBuffer tableNameOrRegionName) throws IOError {
byte[] tableNameOrRegionNameArray = getBytes(tableNameOrRegionName);
try {
try {
getAdmin().compactRegion(tableNameOrRegionNameArray);
} catch (IllegalArgumentException e) {
getAdmin().compact(TableName.valueOf(tableNameOrRegionNameArray));
}
// TODO: HBaseAdmin.compact(byte[]) deprecated and not trivial to replace here.
// ThriftServerRunner.compact should be deprecated and replaced with methods specific to
// table and region.
((HBaseAdmin) getAdmin()).compact(getBytes(tableNameOrRegionName));
} catch (IOException e) {
LOG.warn(e.getMessage(), e);
throw new IOError(e.getMessage());
@ -793,13 +792,11 @@ public class ThriftServerRunner implements Runnable {
@Override
public void majorCompact(ByteBuffer tableNameOrRegionName) throws IOError {
byte[] tableNameOrRegionNameArray = getBytes(tableNameOrRegionName);
try {
try {
getAdmin().majorCompactRegion(tableNameOrRegionNameArray);
} catch (IllegalArgumentException e) {
getAdmin().majorCompact(TableName.valueOf(tableNameOrRegionNameArray));
}
// TODO: HBaseAdmin.majorCompact(byte[]) deprecated and not trivial to replace here.
// ThriftServerRunner.majorCompact should be deprecated and replaced with methods specific
// to table and region.
((HBaseAdmin) getAdmin()).majorCompact(getBytes(tableNameOrRegionName));
} catch (IOException e) {
LOG.warn(e.getMessage(), e);
throw new IOError(e.getMessage());