Siddhant Sangwan created HDDS-7696:
--------------------------------------

             Summary: MisReplicationHandler does not consider QUASI_CLOSED 
replicas as sources
                 Key: HDDS-7696
                 URL: https://issues.apache.org/jira/browse/HDDS-7696
             Project: Apache Ozone
          Issue Type: Sub-task
          Components: ECOfflineRecovery, SCM
    Affects Versions: 1.3.0
            Reporter: Siddhant Sangwan


MisReplicationHandler#filterSources gets a Set of replicas that can be used to 
fix mis replication. It selects CLOSED replicas:
{code}
  private Set<ContainerReplica> filterSources(Set<ContainerReplica> replicas) {
    return replicas.stream().filter(r -> r
                    .getState() == StorageContainerDatanodeProtocolProtos
                    .ContainerReplicaProto.State.CLOSED)
            .filter(r -> ReplicationManager
                    .getNodeStatus(r.getDatanodeDetails(), nodeManager)
                    .isHealthy())
            .filter(r -> r.getDatanodeDetails().getPersistedOpState()
                    == HddsProtos.NodeOperationalState.IN_SERVICE)
            .collect(Collectors.toSet());
  }
{code}

When thinking about Ratis Containers, QUASI_CLOSED replicas can also be mis 
replicated. They're also allowed to be replicated to datanodes. Should they 
also be considered as sources here?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to