You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2013/05/22 20:00:07 UTC
svn commit: r1485316 -
/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
Author: larsh
Date: Wed May 22 18:00:06 2013
New Revision: 1485316
URL: http://svn.apache.org/r1485316
Log:
HBASE-8525 Use sleep multilier when choosing sinks in ReplicationSource
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java?rev=1485316&r1=1485315&r2=1485316&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java Wed May 22 18:00:06 2013
@@ -170,9 +170,9 @@ public class ReplicationSource extends T
for (int i = 0; i < this.replicationQueueNbCapacity; i++) {
this.entriesArray[i] = new HLog.Entry();
}
- this.maxRetriesMultiplier =
- this.conf.getInt("replication.source.maxretriesmultiplier", 10);
- this.socketTimeoutMultiplier = maxRetriesMultiplier * maxRetriesMultiplier;
+ this.maxRetriesMultiplier = this.conf.getInt("replication.source.maxretriesmultiplier", 10);
+ this.socketTimeoutMultiplier = this.conf.getInt("replication.source.socketTimeoutMultiplier",
+ maxRetriesMultiplier * maxRetriesMultiplier);
this.queue =
new PriorityBlockingQueue<Path>(
conf.getInt("hbase.regionserver.maxlogs", 32),
@@ -452,14 +452,16 @@ public class ReplicationSource extends T
}
private void connectToPeers() {
+ int sleepMultiplier = 1;
+
// Connect to peer cluster first, unless we have to stop
while (this.isActive() && this.currentPeers.size() == 0) {
- try {
- chooseSinks();
- Thread.sleep(this.sleepForRetries);
- } catch (InterruptedException e) {
- LOG.error("Interrupted while trying to connect to sinks", e);
+ chooseSinks();
+ if (this.isActive() && this.currentPeers.size() == 0) {
+ if (sleepForRetries("Waiting for peers", sleepMultiplier)) {
+ sleepMultiplier++;
+ }
}
}
}