[
https://issues.apache.org/jira/browse/HDDS-13545?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rishabh Patel reassigned HDDS-13545:
------------------------------------
Assignee: Rishabh Patel (was: Mahesh kumar gaddam)
> MutableVolumeSet code cleanup
> -----------------------------
>
> Key: HDDS-13545
> URL: https://issues.apache.org/jira/browse/HDDS-13545
> Project: Apache Ozone
> Issue Type: Improvement
> Components: Ozone Datanode
> Reporter: Ethan Rose
> Assignee: Rishabh Patel
> Priority: Major
>
> A list of things that can be fixed in {{MutableVolumeSet}}
> * {{addVolume}} and {{removeVolume}} are only used in tests, but contain
> locking and logging like prod code and must be updated for changes like
> HDDS-13093
> ** {{addVolume}} can be replaced in tests by setting the volume as an
> {{hdds.datanode.dir}} in the config.
> ** {{removeVolume}} is only used in a test for itself. It can be removed.
> * {{getVolumeList}} is used in prod code, its {{@VisibleForTesting}}
> annotation should be removed.
> - {{getVolumeMap}} is {{@VisibleForTesting}} but has a [single prod
> usage|https://github.com/apache/ozone/blob/dc9952e446940b82b277a7e8c9d02239a8417a06/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/VersionEndpointTask.java#L120]
> which should be replaced with {{{}getVolumeList{}}}.
> * {{hasEnoughVolumes}} should use {{failedVolumeMap}} and {{volumeMap}}
> fields directly instead of their getters to avoid an extra copy.
> * {{VolumeStateMap}} can be removed.
> ** Although its values are updated, nothing is reading them.
> ** When we add storage policy/tiering by disk type it may not even be
> implemented this way, so for now we can remove this field to avoid having
> another data structure to keep in sync.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]