[ 
https://issues.apache.org/jira/browse/HDDS-15091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chi-Hsuan Huang updated HDDS-15091:
-----------------------------------
    Status: Patch Available  (was: In Progress)

> 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]

Reply via email to