[ 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