siddhantsangwan commented on code in PR #7976:
URL: https://github.com/apache/ozone/pull/7976#discussion_r1984519108
##########
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/AbstractContainerReportHandler.java:
##########
@@ -357,21 +357,21 @@ private boolean updateContainerState(final
DatanodeDetails datanode,
* HDDS-11136: If a DELETING container has a non-empty CLOSED replica,
the container should be moved back to
* CLOSED state.
*
- * HDDS-12421: If a DELETED container has a non-empty CLOSED replica,
the container should also be moved back to
- * CLOSED state.
+ * HDDS-12421: If a DELETING or DELETED container has a non-empty
replica, the container should also be moved
+ * back to CLOSED state.
*/
-
boolean replicaIsEmpty = replica.hasIsEmpty() && replica.getIsEmpty();
// If container is in DELETED state and the reported replica is empty,
delete the empty replica.
+ // We should also do this for DELETING containers and currently
DeletingContainerHandler does that
if (container.getState() == HddsProtos.LifeCycleState.DELETED &&
replicaIsEmpty) {
+ // should we send a non-force delete instead?
deleteReplica(containerId, datanode, publisher, "DELETED");
ignored = true;
break;
}
- boolean replicaStateAllowed = replica.getState() == State.CLOSED;
- boolean replicaNotEmpty = replica.hasIsEmpty() && !replica.getIsEmpty();
Review Comment:
> I have a question, do we have cases where replica.hasIsEmpty() == false ?
I don't know either.
> Right now, replicaIsEmpty would be false when the replica doesn't have the
isEmpty field. So !replicaIsEmpty becomes true below and we effectively treat
such replicas as non-empty (which is fine).
This behaviour seems fine to me, we shouldn't be deleting replicas if the
`isEmpty` field is not present at all. Let's keep the current behaviour as it
is.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]