From 397d34736e63d7661a2f01524f8b302e1309d40f Mon Sep 17 00:00:00 2001 From: Ashish Singhi Date: Sun, 4 Feb 2018 17:52:38 +0530 Subject: [PATCH] HBASE-19905 ReplicationSyncUp tool will not exit if a peer replication is disabled Signed-off-by: Ashish Singhi --- .../regionserver/ReplicationSourceManager.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java index 21472143f31..6e875638ca2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java @@ -55,6 +55,7 @@ import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.replication.ReplicationException; import org.apache.hadoop.hbase.replication.ReplicationListener; import org.apache.hadoop.hbase.replication.ReplicationPeer; +import org.apache.hadoop.hbase.replication.ReplicationPeer.PeerState; import org.apache.hadoop.hbase.replication.ReplicationPeers; import org.apache.hadoop.hbase.replication.ReplicationQueueInfo; import org.apache.hadoop.hbase.replication.ReplicationQueueStorage; @@ -747,6 +748,13 @@ public class ReplicationSourceManager implements ReplicationListener { abortWhenFail(() -> queueStorage.removeQueue(server.getServerName(), queueId)); continue; } + if (server instanceof ReplicationSyncUp.DummyServer + && peer.getPeerState().equals(PeerState.DISABLED)) { + LOG.warn("Peer {} is disbaled. ReplicationSyncUp tool will skip " + + "replicating data to this peer.", + actualPeerId); + continue; + } // track sources in walsByIdRecoveredQueues Map> walsByGroup = new HashMap<>(); walsByIdRecoveredQueues.put(queueId, walsByGroup);