Skip to content

HDDS-14684. Allow deletion of empty quasi-closed containers#9856

Open
sarvekshayr wants to merge 1 commit intoapache:masterfrom
sarvekshayr:HDDS-14684
Open

HDDS-14684. Allow deletion of empty quasi-closed containers#9856
sarvekshayr wants to merge 1 commit intoapache:masterfrom
sarvekshayr:HDDS-14684

Conversation

@sarvekshayr
Copy link
Contributor

What changes were proposed in this pull request?

We now support tracking a container again if a new replica shows up with a higher BCSID after all replicas were deleted HDDS-14684. With this change, we delete empty quasi-closed containers from the system. Even if they were missing some blocks and a new replica shows up with those blocks, it would be tracked and replicated again.
Added empty QUASI_CLOSED container check and deletion in EmptyContainerHandler.

What is the link to the Apache JIRA

HDDS-14684

How was this patch tested?

Added integration test in TestReplicationManagerIntegration#testEmptyQuasiClosedContainerDeletion.
Existing test TestContainerReportHandling#testDeletingOrDeletedContainerWhenNonEmptyReplicaIsReported already verifies the logic if non empty replica is reported.

@sarvekshayr sarvekshayr requested a review from sumitagrawl March 2, 2026 06:05
Copy link
Contributor

@sumitagrawl sumitagrawl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sarvekshayr There are few additional changes required,

  1. ContainerManager#transitionDeletingOrDeletedToClosedState: this is called while moving from deleted/deleting back to only closed. But it can move to quasi_closed also if replica reported other than closed state.
  2. In quasi-closed stuck handler, we should avoid empty replica getting replicated
  3. it should update bcsid, when we move state to deleting as empty quasi-closed with higher value
  4. will wait for replica state to move to quasi-closed for empty also, for sending delete replica case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants