[
https://issues.apache.org/jira/browse/HDFS-9038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15032865#comment-15032865
]
Chris Nauroth commented on HDFS-9038:
-------------------------------------
Thanks for the further reviews. I'm catching up on patch v005 now.
# The latest {{getNonDfsUsed}} switched to using {{File#getFreeSpace}}.
However, the {{getAvailable}} calculation uses {{File#getUsableSpace}} via
{{DF#getAvailable}}. The non-DFS used calculation prior to the HDFS-5215 patch
also would have been using {{File#getUsableSpace}}. I think we should stick
with {{File#getUsableSpace}} here (or {{DF#getAvailable}} for symmetry with the
pre-HDFS-5215 code).
# The latest {{getNonDfsUsed}} does not include {{reservedForReplicas}}. I
think it should, since the {{reservedForReplicas}} amount is effectively in use
by HDFS.
# I think we should cap the returned value to 0 as a matter of defensive coding
against negative values. There could be a possibility of race conditions in
between pulling the individual data items, resulting in an unexpected negative
total.
> Reserved space is erroneously counted towards non-DFS used.
> -----------------------------------------------------------
>
> Key: HDFS-9038
> URL: https://issues.apache.org/jira/browse/HDFS-9038
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: datanode
> Affects Versions: 2.7.1
> Reporter: Chris Nauroth
> Assignee: Brahma Reddy Battula
> Attachments: HDFS-9038-002.patch, HDFS-9038-003.patch,
> HDFS-9038-004.patch, HDFS-9038-005.patch, HDFS-9038.patch
>
>
> HDFS-5215 changed the DataNode volume available space calculation to consider
> the reserved space held by the {{dfs.datanode.du.reserved}} configuration
> property. As a side effect, reserved space is now counted towards non-DFS
> used. I don't believe it was intentional to change the definition of non-DFS
> used. This issue proposes restoring the prior behavior: do not count
> reserved space towards non-DFS used.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)