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)