[
https://issues.apache.org/jira/browse/HDFS-15160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17379425#comment-17379425
]
Ahmed Hussein commented on HDFS-15160:
--------------------------------------
Created [PR-3196|https://github.com/apache/hadoop/pull/3196] for branch-2.10
- main conflicts caused by HDFS-10636. (Modify ReplicaInfo to remove the
assumption that replica metadata and data are stored in java.io.File)
- {{FsDatasetImpl.java#validateBlockFile}} due to HDFS-10636
- {{FsDatasetImpl.java#getFile}} only exists in branch-2.10 and was removed
in HDFS-10636
- {{DiskBalancer}} does not exist in branch-2.10
- {{FsDatasetImpl.java#moveBlockAcrossStorage}} is different in branch-2.10
> ReplicaMap, Disk Balancer, Directory Scanner and various FsDatasetImpl
> methods should use datanode readlock
> -----------------------------------------------------------------------------------------------------------
>
> Key: HDFS-15160
> URL: https://issues.apache.org/jira/browse/HDFS-15160
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode
> Affects Versions: 3.3.0
> Reporter: Stephen O'Donnell
> Assignee: Stephen O'Donnell
> Priority: Major
> Labels: pull-request-available
> Fix For: 3.3.1, 3.4.0
>
> Attachments: HDFS-15160-branch-3.3-001.patch, HDFS-15160.001.patch,
> HDFS-15160.002.patch, HDFS-15160.003.patch, HDFS-15160.004.patch,
> HDFS-15160.005.patch, HDFS-15160.006.patch, HDFS-15160.007.patch,
> HDFS-15160.008.patch, HDFS-15160.branch-3-3.001.patch,
> image-2020-04-10-17-18-08-128.png, image-2020-04-10-17-18-55-938.png
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Now we have HDFS-15150, we can start to move some DN operations to use the
> read lock rather than the write lock to improve concurrence. The first step
> is to make the changes to ReplicaMap, as many other methods make calls to it.
> This Jira switches read operations against the volume map to use the readLock
> rather than the write lock.
> Additionally, some methods make a call to replicaMap.replicas() (eg
> getBlockReports, getFinalizedBlocks, deepCopyReplica) and only use the result
> in a read only fashion, so they can also be switched to using a readLock.
> Next is the directory scanner and disk balancer, which only require a read
> lock.
> Finally (for this Jira) are various "low hanging fruit" items in BlockSender
> and fsdatasetImpl where is it fairly obvious they only need a read lock.
> For now, I have avoided changing anything which looks too risky, as I think
> its better to do any larger refactoring or risky changes each in their own
> Jira.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]