You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2015/03/30 11:52:02 UTC
[08/21] hbase git commit: HBASE-13328
LoadIncrementalHFile.doBulkLoad(Path,
HTable) should handle managed connections
HBASE-13328 LoadIncrementalHFile.doBulkLoad(Path,HTable) should handle managed connections
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0a500e5d
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0a500e5d
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0a500e5d
Branch: refs/heads/hbase-12439
Commit: 0a500e5d305b0c75a6a357a5ff7a9210a615a007
Parents: 98b1e72
Author: Enis Soztutar <en...@apache.org>
Authored: Fri Mar 27 14:49:58 2015 -0700
Committer: Enis Soztutar <en...@apache.org>
Committed: Fri Mar 27 14:49:58 2015 -0700
----------------------------------------------------------------------
.../hbase/mapreduce/LoadIncrementalHFiles.java | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/0a500e5d/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
index d96c9e4..1a257b1 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
@@ -50,6 +50,7 @@ import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HConnection;
import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.NeedUnmanagedConnectionException;
import org.apache.hadoop.hbase.client.RegionLocator;
import org.apache.hadoop.hbase.client.RegionServerCallable;
import org.apache.hadoop.hbase.client.RpcRetryingCallerFactory;
@@ -245,6 +246,7 @@ public class LoadIncrementalHFiles extends Configured implements Tool {
this.hfilePath = hfilePath;
}
+ @Override
public String toString() {
return "family:"+ Bytes.toString(family) + " path:" + hfilePath.toString();
}
@@ -288,7 +290,17 @@ public class LoadIncrementalHFiles extends Configured implements Tool {
public void doBulkLoad(Path hfofDir, final HTable table)
throws TableNotFoundException, IOException
{
- doBulkLoad(hfofDir, table.getConnection().getAdmin(), table, table.getRegionLocator());
+ Admin admin = null;
+ try {
+ try {
+ admin = table.getConnection().getAdmin();
+ } catch (NeedUnmanagedConnectionException ex) {
+ admin = new HBaseAdmin(table.getConfiguration());
+ }
+ doBulkLoad(hfofDir, admin, table, table.getRegionLocator());
+ } finally {
+ admin.close();
+ }
}
/**
@@ -436,6 +448,7 @@ public class LoadIncrementalHFiles extends Configured implements Tool {
final Collection<LoadQueueItem> lqis = e.getValue();
final Callable<List<LoadQueueItem>> call = new Callable<List<LoadQueueItem>>() {
+ @Override
public List<LoadQueueItem> call() throws Exception {
List<LoadQueueItem> toRetry =
tryAtomicRegionLoad(conn, table.getName(), first, lqis);
@@ -512,6 +525,7 @@ public class LoadIncrementalHFiles extends Configured implements Tool {
final LoadQueueItem item = queue.remove();
final Callable<List<LoadQueueItem>> call = new Callable<List<LoadQueueItem>>() {
+ @Override
public List<LoadQueueItem> call() throws Exception {
List<LoadQueueItem> splits = groupOrSplit(regionGroups, item, table, startEndKeys);
return splits;