[
https://issues.apache.org/jira/browse/HDDS-9596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chung En Lee updated HDDS-9596:
-------------------------------
Target Version/s: 2.2.0
2.2.0 (was: 2.1.0)
<<Bulk update>>
Apache Ozone 2.1.0 release is in progress. I'm updating all unresolved jiras
targeting 2.1.0 to retarget 2.2.0.
> Determine the criteria for calling a container empty in the SCM
> ---------------------------------------------------------------
>
> Key: HDDS-9596
> URL: https://issues.apache.org/jira/browse/HDDS-9596
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: SCM
> Reporter: Siddhant Sangwan
> Assignee: Chu Cheng Li
> Priority: Major
>
> This is the current apache master logic for identifying an empty container:
> {code}
> private boolean isContainerEmptyAndClosed(final ContainerInfo container,
> final Set<ContainerReplica> replicas) {
> return container.getState() == HddsProtos.LifeCycleState.CLOSED &&
> !replicas.isEmpty() &&
> replicas.stream().allMatch(
> r -> r.getState() == ContainerReplicaProto.State.CLOSED &&
> r.isEmpty());
> }
> {code}
> What happens if: For an open container, a write is successful in 2 replicas,
> but not in the 3rd one. Now the pipeline is broken and closed and this
> container moves to quasi closed. The replicas are also quasi closed. It has
> two replicas on unique origins, so then the container is closed. At this
> stage, the quasi closed replicas go down and we’re only left with the 3rd
> empty replica. Won’t we be wrong in marking this container as empty now?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]