[
https://issues.apache.org/jira/browse/HBASE-12797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Kyle Purtell resolved HBASE-12797.
-----------------------------------------
Resolution: Incomplete
> 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: Jianwei Cui
> 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
(v8.20.7#820007)