[ 
https://issues.apache.org/jira/browse/HDFS-10828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15523110#comment-15523110
 ] 

Fenghua Hu commented on HDFS-10828:
-----------------------------------

[~arpitagarwal],

Currently datasetLock is a big lock, which is used to replace original 
"synchronized" FsDatasetImpl object. For volumeMap, I am thinking whether we 
could use a separate lock so that we dont' need to contend datasetLock with 
other thread therefore the performance can be improved. What do you think?

-    volumeMap = new ReplicaMap(this);
+    volumeMap = new ReplicaMap(datasetLock);   <------------------
...
-    ReplicaMap tempVolumeMap = new ReplicaMap(this);
+    ReplicaMap tempVolumeMap = new ReplicaMap(datasetLock); 
<---------------------------
     fsVolume.getVolumeMap(tempVolumeMap, ramDiskReplicaTracker);

> Fix usage of FsDatasetImpl object lock in ReplicaMap
> ----------------------------------------------------
>
>                 Key: HDFS-10828
>                 URL: https://issues.apache.org/jira/browse/HDFS-10828
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.8.0
>            Reporter: Arpit Agarwal
>            Assignee: Arpit Agarwal
>         Attachments: HDFS-10828.01.patch, HDFS-10828.02.patch, 
> HDFS-10828.03.patch
>
>
> HDFS-10682 replaced the FsDatasetImpl object lock with a separate reentrant 
> lock but missed updating an instance ReplicaMap still uses the FsDatasetImpl.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to