You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by sy...@apache.org on 2015/12/15 18:43:32 UTC
[18/26] hbase git commit: HBASE-14953 Replication: retry on
RejectedExecutionException
HBASE-14953 Replication: retry on RejectedExecutionException
In HBaseInterClusterReplicationEndpoint, we fail the whole batch
in case of a RejectedExecutionException on an individual sub-batch.
We should let the submitted sub-batches finish and retry only for
the remaining ones.
Signed-off-by: Elliott Clark <ec...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/453a66c3
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/453a66c3
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/453a66c3
Branch: refs/heads/hbase-12439
Commit: 453a66c3b9d4f51311db6acc5cba84290dbd29ed
Parents: 22b95ae
Author: Ashu Pachauri <as...@gmail.com>
Authored: Tue Dec 8 14:25:41 2015 -0800
Committer: Elliott Clark <ec...@apache.org>
Committed: Fri Dec 11 13:15:22 2015 -0800
----------------------------------------------------------------------
.../regionserver/HBaseInterClusterReplicationEndpoint.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/453a66c3/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.java
index d51d512..70cc420 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.java
@@ -29,7 +29,7 @@ import java.util.concurrent.CompletionService;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorCompletionService;
import java.util.concurrent.Future;
-import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -113,8 +113,9 @@ public class HBaseInterClusterReplicationEndpoint extends HBaseReplicationEndpoi
// per sink thread pool
this.maxThreads = this.conf.getInt(HConstants.REPLICATION_SOURCE_MAXTHREADS_KEY,
HConstants.REPLICATION_SOURCE_MAXTHREADS_DEFAULT);
- this.exec = new ThreadPoolExecutor(1, maxThreads, 60, TimeUnit.SECONDS,
- new SynchronousQueue<Runnable>());
+ this.exec = new ThreadPoolExecutor(maxThreads, maxThreads, 60, TimeUnit.SECONDS,
+ new LinkedBlockingQueue<Runnable>());
+ this.exec.allowCoreThreadTimeOut(true);
this.replicationBulkLoadDataEnabled =
conf.getBoolean(HConstants.REPLICATION_BULKLOAD_ENABLE_KEY,