cuijianwei created HBASE-12797:
----------------------------------

             Summary: ReplicationSyncUp will return before recovered queue 
transfered with default configuration
                 Key: HBASE-12797
                 URL: https://issues.apache.org/jira/browse/HBASE-12797
             Project: HBase
          Issue Type: Improvement
          Components: Replication
    Affects Versions: 0.99.2
            Reporter: cuijianwei
            Priority: Minor


ReplicationSyncUp will check all old sources has been removed every 10 seconds 
(ReplicationSyncUp.SLEEP_TIME):
{code}
      int numberOfOldSource = 1; // default wait once
      while (numberOfOldSource > 0) {
        Thread.sleep(SLEEP_TIME);
        numberOfOldSource = manager.getOldSources().size();
      }
{code}
However, the default "replication.sleep.before.failover" is 30 seconds, which 
will make NodeFailoverWorker sleep at least 30 seconds before transferring 
recover queue. Therefore, ReplicationSyncUp will do nothing and return directly 
with default configuration.
When using ReplicationSyncUp, the goal tends to be syncing-up the 
not-replicated data to peer cluster as soon as possible, is it reasonable to 
set "replication.sleep.before.failover" to 0 in this situation, and also make 
sure ReplicationQueues.getListOfReplicators().size() = 0 before returned?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to