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)

Reply via email to