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]