[
https://issues.apache.org/jira/browse/HDDS-15291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HDDS-15291:
----------------------------------
Labels: pull-request-available (was: )
> DN should fail unreferenced block deletion on file errors
> ---------------------------------------------------------
>
> Key: HDDS-15291
> URL: https://issues.apache.org/jira/browse/HDDS-15291
> Project: Apache Ozone
> Issue Type: Improvement
> Components: Ozone Datanode
> Reporter: Shilun Fan
> Assignee: Shilun Fan
> Priority: Major
> Labels: pull-request-available
>
> Datanode may silently ignore failures while cleaning up unreferenced
> block/chunk files during block deletion.
> In KeyValueHandler.deleteUnreferenced, the current implementation lists chunk
> files by prefix and deletes matching files with FileUtil.fullyDelete(file).
> However, it does not handle two failure cases explicitly:
> * File.list(...) may return null if the chunk directory cannot be listed.
> * FileUtil.fullyDelete(file) returns false when deletion fails, but the
> result is currently ignored.
> As a result, DN may log that an unreferenced chunk/block was deleted even
> when the file deletion actually failed. This can make cleanup failures harder
> to detect and may leave stale unreferenced files on disk.
> The proposed fix is to make deleteUnreferenced fail explicitly by throwing
> IOException when the chunk directory cannot be listed or when file deletion
> fails, and only log successful deletion after the file is actually removed.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]