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

maobaolong commented on HDFS-11409:
-----------------------------------

[~vagarychen] HI Liang, Thank you for your improvement for performance.  I 
think we can do something better. So, if we remove the volatile, we get huge  
performance improvement. After we study and deep think about the keyword 
volatile, its main effect is keep visibility, if this scenario, we need 
performance more than the visibility.

> DatanodeInfo getNetworkLocation and setNetworkLocation shoud use volatile 
> instead of synchronized
> -------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-11409
>                 URL: https://issues.apache.org/jira/browse/HDFS-11409
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: performance
>            Reporter: Chen Liang
>            Assignee: Chen Liang
>            Priority: Minor
>             Fix For: 2.9.0, 3.0.0-alpha4, 2.8.4
>
>         Attachments: HDFS-11409.001.patch
>
>
> {{DatanodeInfo}} has synchronized methods {{getNetworkLocation}} and 
> {{setNetworkLocation}}. While they doing nothing more than setting and 
> getting variable {{location}}.
> Since {{location}} is not being modified based on its current value and is 
> independent from any other variables. This JIRA propose to remove 
> synchronized methods but only make {{location}} volatile. Such that threads 
> will not be blocked on get/setNetworkLocation.
> Thanks  [~szetszwo] for the offline disscussion.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to