Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-8699 Further Replication Manager Improvements
  3. HDDS-9352

LegacyReplicationManager: Ignore any Datanodes that are not in-service and healthy when finding unique origins

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 1.4.0
    • SCM

    Description

      LRM needs to save UNHEALTHY replicas that have unique Origin IDs when deleting excess UNHEALTHY replicas of a QUASI_CLOSED container. This is because replicas with unique origins are used to decide whether such a container can be closed. If we can close UNHEALTHY replicas in the future, these replicas can be used to make this decision.

      Currently, LRM considers all replicas in the algorithm for finding out which replicas need to be saved and which should be deleted:

          // Gather the origin node IDs of replicas which are not candidates for
          // deletion.
          Set<UUID> existingOriginNodeIDs = allReplicas.stream()
              .filter(r -> !deleteCandidates.contains(r))
              .map(ContainerReplica::getOriginDatanodeId)
              .collect(Collectors.toSet());
      

      We need to remove any DNs that are not in-service and healthy because it's likely we've already lost them or will lose them in the future.

      Attachments

        Issue Links

          Activity

            People

              siddhant Siddhant Sangwan
              siddhant Siddhant Sangwan
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: