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

ZanderXu edited comment on HDFS-16600 at 6/18/22 10:54 AM:
-----------------------------------------------------------

Thanks [~hexiaoqiao]. The Fine-Grained locking we adopted is slightly different 
from this features, but we also split the global lock into BlockPoolSlice, and 
also has very obvious performance benefits.
Recently we plan to patch this features into Hadoop-2.10 and deploy on my prod 
cluster which has about 7000+ DNs. After a period of deployment, I will provide 
the detail performance result.


was (Author: xuzq_zander):
Thanks [~hexiaoqiao]. The Fine-Grained locking we adopted is slightly different 
from this features, but we also split the global lock into BlockPoolSlice, and 
also has very obvious performance benefits.
And we will patch this features into Hadoop-2.10 and deploy on my prod cluster 
which has about 7000+ DNs. After a period of deployment, I will provide the 
detail performance result.

> Fix deadlock of fine-grain lock for FsDatastImpl of DataNode.
> -------------------------------------------------------------
>
>                 Key: HDFS-16600
>                 URL: https://issues.apache.org/jira/browse/HDFS-16600
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: ZanderXu
>            Assignee: ZanderXu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.4.0
>
>          Time Spent: 5h 10m
>  Remaining Estimate: 0h
>
> The UT 
> org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.testSynchronousEviction 
> failed, because happened deadlock, which  is introduced by 
> [HDFS-16534|https://issues.apache.org/jira/browse/HDFS-16534]. 
> DeadLock:
> {code:java}
> // org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.createRbw line 1588 
> need a read lock
> try (AutoCloseableLock lock = lockManager.readLock(LockLevel.BLOCK_POOl,
>         b.getBlockPoolId()))
> // org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.evictBlocks line 
> 3526 need a write lock
> try (AutoCloseableLock lock = lockManager.writeLock(LockLevel.BLOCK_POOl, 
> bpid))
> {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to