Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-17328

Properly dispose of looped replication peers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.3.0, 1.4.0, 0.98.23, 2.0.0
    • 1.3.0, 1.2.5, 0.98.24, 1.1.9, 2.0.0
    • Replication
    • None
    • Reviewed

    Description

      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.

      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);
          }
      

      Attachments

        1. HBASE-17328.0.98.v4.patch
          10 kB
          Vincent Poon
        2. HBASE-17328.branch-1.1.v2.patch
          5 kB
          Vincent Poon
        3. HBASE-17328.branch-1.1.v3.patch
          5 kB
          Vincent Poon
        4. HBASE-17328.branch-1.1.v4.patch
          9 kB
          Vincent Poon
        5. HBASE-17328.master.v4.patch
          7 kB
          Vincent Poon
        6. HBASE-17328-1.1.v1.patch
          2 kB
          Vincent Poon
        7. HBASE-17328-master.v1.patch
          2 kB
          Vincent Poon
        8. HBASE-17328-master.v2.patch
          5 kB
          Vincent Poon

        Activity

          People

            vincentpoon Vincent Poon
            vincentpoon Vincent Poon
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: