[
https://issues.apache.org/jira/browse/HDFS-7531?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lei (Eddy) Xu updated HDFS-7531:
--------------------------------
Attachment: HDFS-7531.001.patch
Thanks for the reviews, [~cmccabe] and [~wheat9] !
I updated the patch to use {{compareAndSet}} instead of {{synchronized}} for
{{addVolume}} and {{removeVolume}}.
Also changed to use JDK 7 features.
> Improve the concurrent access on FsVolumeList
> ---------------------------------------------
>
> Key: HDFS-7531
> URL: https://issues.apache.org/jira/browse/HDFS-7531
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode
> Affects Versions: 2.6.0
> Reporter: Lei (Eddy) Xu
> Assignee: Lei (Eddy) Xu
> Attachments: HDFS-7531.000.patch, HDFS-7531.001.patch
>
>
> {{FsVolumeList}} uses {{synchronized}} to protect the update on
> {{FsVolumeList#volumes}}, while various operations (e.g., {{checkDirs()}},
> {{getAvailable()}}) iterate {{volumes}} without protection.
> This JIRA proposes to use {{AtomicReference}} to encapture {{volumes}} to
> provide better concurrent access.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)