[
https://issues.apache.org/jira/browse/HDDS-15091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HDDS-15091:
----------------------------------
Labels: pull-request-available (was: )
> CapacityVolumeChoosingPolicy compares available bytes not utilization
> ---------------------------------------------------------------------
>
> Key: HDDS-15091
> URL: https://issues.apache.org/jira/browse/HDDS-15091
> Project: Apache Ozone
> Issue Type: Bug
> Reporter: Wei-Chiu Chuang
> Assignee: Chi-Hsuan Huang
> Priority: Major
> Labels: pull-request-available
> Attachments: Gemini_Generated_Image_1y67up1y67up1y67.png
>
>
> According to ozone-default.xml
> {noformat}
> <property>
> <name>hdds.datanode.volume.choosing.policy</name>
>
> <value>org.apache.hadoop.ozone.container.common.volume.CapacityVolumeChoosingPolicy</value>
> <tag>OZONE, CONTAINER, STORAGE, MANAGEMENT</tag>
> <description>
> The class name of the policy for choosing volumes in the list of
> directories.
> Defaults to
> org.apache.hadoop.ozone.container.common.volume.CapacityVolumeChoosingPolicy.
> This volume choosing policy randomly chooses two volumes with remaining
> space and then picks the one with lower utilization.
> </description>
> </property> {noformat}
>
> But actual implementation compares available amount of bytes of volumes.
> {code:java}
> long firstAvailable = firstVolume.getCurrentUsage().getAvailable()
> - firstVolume.getCommittedBytes();
> long secondAvailable = secondVolume.getCurrentUsage().getAvailable()
> - secondVolume.getCommittedBytes();
> selectedVolume = firstAvailable < secondAvailable ? secondVolume :
> firstVolume; {code}
> This is not a problem if volumes are of the same capacity. However, if the
> datanode is heterogeneous and volumes are of different capacity (e.g. 24TB
> HDD vs 2TB NVMe SSD) it will not work as intended, and high density volumes
> will fill up sooner than the low density ones, causing imbalance.
> !Gemini_Generated_Image_1y67up1y67up1y67.png|width=100%!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]