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

Haohui Mai commented on HDFS-6315:
----------------------------------

The v2 patch moves all edit log operations into {{FSNameSystem}} except for 
{{rename}} and {{delete}}. These two functions require more changes thus I plan 
to address them in a separate jira.

The patch makes the following changes:

# It moves the edit log operations of {{setReplication}}, {{setPermission}}, 
{{setOwner}}, {{concat}}, {{setQuota}}, and all ACL / XAttr operations into 
their respective callees.
# The patch moves {{persistBlock}} and {{persistNewBlock}} into FSDirectory. 
The original code protects these two methods with the lock of the 
{{FSDirectory}}. The patch moves them out of the lock because these two methods 
only log the edit logs, where the logging itself has been made synchronized in 
the {{EditLog}} class.

With the above changes, this patch no longer leaks the lock of the 
{{FSDirectory}} into {{FSNameSystem}}. [~daryn], do you have any more comments?

> Decouple recording edit logs from FSDirectory
> ---------------------------------------------
>
>                 Key: HDFS-6315
>                 URL: https://issues.apache.org/jira/browse/HDFS-6315
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Haohui Mai
>            Assignee: Haohui Mai
>         Attachments: HDFS-6315.000.patch, HDFS-6315.001.patch, 
> HDFS-6315.002.patch
>
>
> Currently both FSNamesystem and FSDirectory record edit logs. This design 
> requires both FSNamesystem and FSDirectory to be tightly coupled together to 
> implement a durable namespace.
> This jira proposes to separate the responsibility of implementing the 
> namespace and providing durability with edit logs. Specifically, FSDirectory 
> implements the namespace (which should have no edit log operations), and 
> FSNamesystem implement durability by recording the edit logs.



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

Reply via email to