Vincent Poon created HBASE-17328:
------------------------------------
Summary: Properly dispose of looped replication peers
Key: HBASE-17328
URL: https://issues.apache.org/jira/browse/HBASE-17328
Project: HBase
Issue Type: Bug
Components: Replication
Affects Versions: 0.98.23, 2.0.0, 1.4.0
Reporter: Vincent Poon
When adding a looped replication peer (clusterId == peerClusterId), the
following code terminates the replication source thread, but since the source
manager still holds a reference, WALs continue to get enqueued, and never get
cleaned because they're stuck in the queue, leading to an unsustainable
buildup. Furthermore, the replication statistics thread will continue to print
statistics for the terminated source.
{code}
if (clusterId.equals(peerClusterId) &&
!replicationEndpoint.canReplicateToSameCluster()) {
this.terminate("ClusterId " + clusterId + " is replicating to itself:
peerClusterId "
+ peerClusterId + " which is not allowed by ReplicationEndpoint:"
+ replicationEndpoint.getClass().getName(), null, false);
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)