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

Sammi Chen updated HDDS-12547:
------------------------------
    Description: 
Currently,  KeyValueHandler and ContainerImporter have its owner 
VolumeChoosingPolicy instances. As the VolumeChoosingPolicy is decided by same 
"hdds.datanode.volume.choosing.policy" property, so  KeyValueHandler and 
ContainerImporter can use the same VolumeChoosingPolicy instance.  

Further, VolumeChoosingPolicy#chooseVolume, its Java Doc says "The 
implementations of this interface must be thread-safe.",  regarding the space 
full check and space reservation, it can be done as an atomic operation in the 
chooseVolume internally, so that there will no over allocation of space due to 
concurrent container creation and container import. 

  was:
Currently,  KeyValueHandler and ContainerImporter have its owner 
VolumeChoosingPolicy instances. As the VolumeChoosingPolicy is decided by same 
"hdds.datanode.volume.choosing.policy" property, so  KeyValueHandler and 
ContainerImporter and use the same VolumeChoosingPolicy instance.  

Further, VolumeChoosingPolicy#chooseVolume, its Java Doc says "The 
implementations of this interface must be thread-safe.",  regarding the space 
full check and space reservation, it can be done as an atomic operation in the 
chooseVolume internally, so that there will no over allocation of space due to 
concurrent container creation and container import. 


> Container creation and import use the same VolumeChoosingPolicy
> ---------------------------------------------------------------
>
>                 Key: HDDS-12547
>                 URL: https://issues.apache.org/jira/browse/HDDS-12547
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Sammi Chen
>            Assignee: Peter Lee
>            Priority: Major
>              Labels: pull-request-available
>
> Currently,  KeyValueHandler and ContainerImporter have its owner 
> VolumeChoosingPolicy instances. As the VolumeChoosingPolicy is decided by 
> same "hdds.datanode.volume.choosing.policy" property, so  KeyValueHandler and 
> ContainerImporter can use the same VolumeChoosingPolicy instance.  
> Further, VolumeChoosingPolicy#chooseVolume, its Java Doc says "The 
> implementations of this interface must be thread-safe.",  regarding the space 
> full check and space reservation, it can be done as an atomic operation in 
> the chooseVolume internally, so that there will no over allocation of space 
> due to concurrent container creation and container import. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org
For additional commands, e-mail: issues-h...@ozone.apache.org

Reply via email to