Replication gets stuck following a transient zookeeper error to remote peer 
cluster

Conflicts:
        
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java

Signed-off-by: Andrew Purtell <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/61b4ac99
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/61b4ac99
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/61b4ac99

Branch: refs/heads/0.98
Commit: 61b4ac99f4575a4722ba465de3c1e0b5ceb8097e
Parents: d65d0cb
Author: Adrian Muraru <[email protected]>
Authored: Thu Oct 30 23:50:02 2014 +0200
Committer: Andrew Purtell <[email protected]>
Committed: Fri Oct 31 18:03:30 2014 -0700

----------------------------------------------------------------------
 .../hbase/replication/regionserver/ReplicationSinkManager.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/61b4ac99/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java
index 839db9b..2c36179 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.java
@@ -107,8 +107,8 @@ public class ReplicationSinkManager {
    * @return a replication sink to replicate to
    */
   public SinkPeer getReplicationSink() throws IOException {
-    if (replicationPeers.getTimestampOfLastChangeToPeer(peerClusterId)
-                                                        > 
this.lastUpdateToPeers) {
+    if (replicationPeers.getTimestampOfLastChangeToPeer(peerClusterId) > 
this.lastUpdateToPeers ||
+        sinks.isEmpty()) {
       LOG.info("Current list of sinks is out of date, updating");
       chooseSinks();
     }

Reply via email to