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

ASF GitHub Bot commented on HDFS-17384:
---------------------------------------

ferhui commented on code in PR #6762:
URL: https://github.com/apache/hadoop/pull/6762#discussion_r1590192211


##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java:
##########
@@ -6043,7 +6079,7 @@ void updatePipeline(
       updatePipelineInternal(clientName, oldBlock, newBlock, newNodes,
           newStorageIDs, logRetryCache);
     } finally {
-      writeUnlock("updatePipeline");
+      writeUnlock(FSNamesystemLockMode.GLOBAL, "updatePipeline");

Review Comment:
   That documentation is the final solution. Currently this PR is the 1st 
stage. This stage only aims to split the global lock into bm and fs locks.
   In updatePipelineInternal we can see it uses inode too, so we use global 
lock here. Will solve similar cases in 2nd stage.
   @ZanderXu  any other comments?





> [FGL] Replace the global lock with global FS Lock and global BM lock
> --------------------------------------------------------------------
>
>                 Key: HDFS-17384
>                 URL: https://issues.apache.org/jira/browse/HDFS-17384
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: ZanderXu
>            Assignee: ZanderXu
>            Priority: Major
>              Labels: FGL, pull-request-available
>
> First, we can replace the current global lock with two locks, global FS lock 
> and global BM lock.
> The global FS lock is used to make directory tree-related operations 
> thread-safe.
> The global BM lock is used to make block-related operations and DN-related 
> operations thread-safe.
>  
> For some operations involving both directory tree and block or DN, the global 
> FS lock and the global BM lock are acquired.
>  
> The lock order should be:
>  * The global FS lock
>  * The global BM lock
>  
> There are some special requirements for this ticket.
>  * End-user can choose to use global lock or fine-grained lock through 
> configuration.
>  * Try not to modify the current implementation logic as much as possible.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
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