You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2015/08/18 01:05:52 UTC
hbase git commit: HBASE-14203 remove duplicate code
getTableDescriptor in HTable (Heng Chen)
Repository: hbase
Updated Branches:
refs/heads/master 2ed7f9bb1 -> 395ec5a9b
HBASE-14203 remove duplicate code getTableDescriptor in HTable (Heng Chen)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/395ec5a9
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/395ec5a9
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/395ec5a9
Branch: refs/heads/master
Commit: 395ec5a9bb48324a8b7dd61790a954a2998a8f80
Parents: 2ed7f9b
Author: Enis Soztutar <en...@apache.org>
Authored: Mon Aug 17 16:05:26 2015 -0700
Committer: Enis Soztutar <en...@apache.org>
Committed: Mon Aug 17 16:05:26 2015 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/client/HBaseAdmin.java | 44 +++++++++++++-------
.../org/apache/hadoop/hbase/client/HTable.java | 23 +---------
2 files changed, 30 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/395ec5a9/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
index 1df3ffa..7ed303d 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
@@ -446,25 +446,32 @@ public class HBaseAdmin implements Admin {
@Override
public HTableDescriptor getTableDescriptor(final TableName tableName)
throws TableNotFoundException, IOException {
- if (tableName == null) return null;
- HTableDescriptor htd = executeCallable(new MasterCallable<HTableDescriptor>(getConnection()) {
- @Override
- public HTableDescriptor call(int callTimeout) throws ServiceException {
- GetTableDescriptorsResponse htds;
- GetTableDescriptorsRequest req =
- RequestConverter.buildGetTableDescriptorsRequest(tableName);
- htds = master.getTableDescriptors(null, req);
+ return getTableDescriptor(tableName, getConnection(), rpcCallerFactory, operationTimeout);
+ }
- if (!htds.getTableSchemaList().isEmpty()) {
- return HTableDescriptor.convert(htds.getTableSchemaList().get(0));
+ static HTableDescriptor getTableDescriptor(final TableName tableName,
+ HConnection connection, RpcRetryingCallerFactory rpcCallerFactory,
+ int operationTimeout) throws TableNotFoundException, IOException {
+
+ if (tableName == null) return null;
+ HTableDescriptor htd = executeCallable(new MasterCallable<HTableDescriptor>(connection) {
+ @Override
+ public HTableDescriptor call(int callTimeout) throws ServiceException {
+ GetTableDescriptorsResponse htds;
+ GetTableDescriptorsRequest req =
+ RequestConverter.buildGetTableDescriptorsRequest(tableName);
+ htds = master.getTableDescriptors(null, req);
+
+ if (!htds.getTableSchemaList().isEmpty()) {
+ return HTableDescriptor.convert(htds.getTableSchemaList().get(0));
+ }
+ return null;
}
- return null;
+ }, rpcCallerFactory, operationTimeout);
+ if (htd != null) {
+ return htd;
}
- });
- if (htd != null) {
- return htd;
- }
- throw new TableNotFoundException(tableName.getNameAsString());
+ throw new TableNotFoundException(tableName.getNameAsString());
}
public HTableDescriptor getTableDescriptor(final byte[] tableName)
@@ -3986,6 +3993,11 @@ public class HBaseAdmin implements Admin {
private <C extends RetryingCallable<V> & Closeable, V> V executeCallable(C callable)
throws IOException {
+ return executeCallable(callable, rpcCallerFactory, operationTimeout);
+ }
+
+ private static <C extends RetryingCallable<V> & Closeable, V> V executeCallable(C callable,
+ RpcRetryingCallerFactory rpcCallerFactory, int operationTimeout) throws IOException {
RpcRetryingCaller<V> caller = rpcCallerFactory.newCaller();
try {
return caller.callWithRetries(callable, operationTimeout);
http://git-wip-us.apache.org/repos/asf/hbase/blob/395ec5a9/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
index 89c7893..46f8ec0 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
@@ -265,30 +265,11 @@ public class HTable implements HTableInterface {
*/
@Override
public HTableDescriptor getTableDescriptor() throws IOException {
- // TODO: This is the same as HBaseAdmin.getTableDescriptor(). Only keep one.
- if (tableName == null) return null;
- if (tableName.equals(TableName.META_TABLE_NAME)) {
- return HTableDescriptor.META_TABLEDESC;
- }
- HTableDescriptor htd = executeMasterCallable(
- new MasterCallable<HTableDescriptor>(getConnection()) {
- @Override
- public HTableDescriptor call(int callTimeout) throws ServiceException {
- GetTableDescriptorsResponse htds;
- GetTableDescriptorsRequest req =
- RequestConverter.buildGetTableDescriptorsRequest(tableName);
- htds = master.getTableDescriptors(null, req);
-
- if (!htds.getTableSchemaList().isEmpty()) {
- return HTableDescriptor.convert(htds.getTableSchemaList().get(0));
- }
- return null;
- }
- });
+ HTableDescriptor htd = HBaseAdmin.getTableDescriptor(tableName, connection, rpcCallerFactory, operationTimeout);
if (htd != null) {
return new UnmodifyableHTableDescriptor(htd);
}
- throw new TableNotFoundException(tableName.getNameAsString());
+ return null;
}
private <V> V executeMasterCallable(MasterCallable<V> callable) throws IOException {