[
https://issues.apache.org/jira/browse/HDFS-7531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14248911#comment-14248911
]
Colin Patrick McCabe commented on HDFS-7531:
--------------------------------------------
{{addVolume}}: I would prefer not to have this be synchronized. Instead, we
can simply use a loop with {{AtomicReference#compareAndSet}} to ensure that our
modification doesn't collide with a concurrent modification.
Same comment for {{removeVolume}}.
+1 once that is addressed
> 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
>
>
> {{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)