You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by wc...@apache.org on 2020/10/14 17:21:14 UTC
[hbase] branch branch-2 updated: HBASE-25117
ReplicationSourceShipper thread can not be finished (#2521)
This is an automated email from the ASF dual-hosted git repository.
wchevreuil pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new 4e6c52c HBASE-25117 ReplicationSourceShipper thread can not be finished (#2521)
4e6c52c is described below
commit 4e6c52c31954f9e30d7e3257cf0901322efed081
Author: XinSun <dd...@gmail.com>
AuthorDate: Thu Oct 15 01:08:54 2020 +0800
HBASE-25117 ReplicationSourceShipper thread can not be finished (#2521)
Signed-off-by: Wellington Chevreuil <we...@gmail.com>
Signed-off-by: stack <st...@apache.org>
Signed-off-by: Guanghao Zhang <zg...@apache.org>
Signed-off-by: Duo Zhang <zh...@apache.org>
(cherry picked from commit 78b7244091f294d7e2f59a563d34dac7cf722cd7)
---
.../regionserver/HBaseInterClusterReplicationEndpoint.java | 5 +++--
.../hadoop/hbase/replication/regionserver/ReplicationSource.java | 6 +++---
2 files changed, 6 insertions(+), 5 deletions(-)
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 7287c61..c4e1d96 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
@@ -238,7 +238,7 @@ public class HBaseInterClusterReplicationEndpoint extends HBaseReplicationEndpoi
* @param sleepMultiplier by how many times the default sleeping time is augmented
* @return True if <code>sleepMultiplier</code> is < <code>maxRetriesMultiplier</code>
*/
- protected boolean sleepForRetries(String msg, int sleepMultiplier) {
+ private boolean sleepForRetries(String msg, int sleepMultiplier) {
try {
if (LOG.isTraceEnabled()) {
LOG.trace("{} {}, sleeping {} times {}",
@@ -246,8 +246,9 @@ public class HBaseInterClusterReplicationEndpoint extends HBaseReplicationEndpoi
}
Thread.sleep(this.sleepForRetries * sleepMultiplier);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
if (LOG.isDebugEnabled()) {
- LOG.debug("{} Interrupted while sleeping between retries", logPeerId());
+ LOG.debug("{} {} Interrupted while sleeping between retries", msg, logPeerId());
}
}
return sleepMultiplier < maxRetriesMultiplier;
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
index b5c92fd..645c14d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
@@ -714,6 +714,9 @@ public class ReplicationSource implements ReplicationSourceInterface {
}
}
+ if (this.replicationEndpoint != null) {
+ this.replicationEndpoint.stop();
+ }
for (ReplicationSourceShipper worker : workers) {
if (worker.isAlive() || worker.entryReader.isAlive()) {
try {
@@ -734,9 +737,6 @@ public class ReplicationSource implements ReplicationSourceInterface {
}
}
- if (this.replicationEndpoint != null) {
- this.replicationEndpoint.stop();
- }
if (join) {
for (ReplicationSourceShipper worker : workers) {
Threads.shutdown(worker, this.sleepForRetries);