[
https://issues.apache.org/jira/browse/HDFS-9850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Manoj Govindassamy updated HDFS-9850:
-------------------------------------
Attachment: HDFS-9850.001.patch
Attached v01 patch which addresses the following:
* Replaced {{FsVolumeSpi}} object references in {{VolumePair}} and
{{getStorageIDToVolumeMap}} with volume storage UUIDs.
** So that, unnecessary object references to FsVolume are avoided
** Whenever needed, {{FsVolumeSpi}} object is retrieved looking up by stored
UUID
** This way, any removed volumes after the plan creation or during the disk
balancing activity can be easily tracked and appropriate error messages can be
returned
* Added a unit test {{TestDiskBalancer#testDiskBalancerWhenRemovingVolumes}} to
verify the new functionality
** Test executes a computed disk balancing plan between 2 storage volumes
** While {{DiskBalancer#copyBlocks}} are happening, the desitnation storage
volume is removed
** {{DiskBalancer}} detects this and returns gracefully with proper error
message set in the WorkItem
** Without HDFS-9850 fix, test fails with ClosedChannelException when obtaining
the reference for the deleted volume.
[~eddyxu], [~anu], please take a look at the patch and let me know your
comments.
> DiskBalancer : Explore removing references to FsVolumeSpi
> ----------------------------------------------------------
>
> Key: HDFS-9850
> URL: https://issues.apache.org/jira/browse/HDFS-9850
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: balancer & mover
> Affects Versions: 3.0.0-alpha2
> Reporter: Anu Engineer
> Assignee: Manoj Govindassamy
> Attachments: HDFS-9850.001.patch
>
>
> In HDFS-9671, [~arpitagarwal] commented that we should explore the
> possibility of removing references to FsVolumeSpi at any point and only deal
> with storage ID. We are not sure if this is possible, this JIRA is to explore
> if that can be done without issues.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]