[ 
https://issues.apache.org/jira/browse/HDFS-6788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yongjun Zhang updated HDFS-6788:
--------------------------------

    Description: 
Threads in DN (DataXceiver, PacketResponder, Async disk worker etc) may block 
at BPOfferService.getBlockPoolId() when calling BPOfferService.checkBlock(), 
though they are just reading the same blockpool id. This is unnecessary 
overhead and may cause performance hit when many threads compete. Filing this 
jira to replace synchronized method with read write lock 
(ReentrantReadWriteLock).


  was:
Threads in DN (DataXceiver, PacketResponder, Async disk worker etc) may block 
at BPOfferService.getBlockPoolId() when calling BPOfferService.checkBlock(), 
though they are just reading the same blockpool id. This is unnecessary 
overhead and may cause trouble when many threads exist. Filing this jira to 
replace synchronized method with read write lock (ReentrantReadWriteLock).



> Improve synchronization in BPOfferService with read write lock
> --------------------------------------------------------------
>
>                 Key: HDFS-6788
>                 URL: https://issues.apache.org/jira/browse/HDFS-6788
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode
>    Affects Versions: 2.5.0
>            Reporter: Yongjun Zhang
>            Assignee: Yongjun Zhang
>
> Threads in DN (DataXceiver, PacketResponder, Async disk worker etc) may block 
> at BPOfferService.getBlockPoolId() when calling BPOfferService.checkBlock(), 
> though they are just reading the same blockpool id. This is unnecessary 
> overhead and may cause performance hit when many threads compete. Filing this 
> jira to replace synchronized method with read write lock 
> (ReentrantReadWriteLock).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to