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

Jing Zhao updated HDFS-8308:
----------------------------
    Attachment: HDFS-8308.000.patch

Upload a patch to fix. The main fix is actually just one line: 
{code}
-          ECSchema schema = dir.getFSNamesystem().getECSchema(schemaName);
+          ECSchema schema = dir.getFSNamesystem().getSchemaManager()
+              .getSchema(schemaName);
{code}

The patch also updates {{TestAddStripedBlocks}} which can now be used to verify 
the fix.

> Erasure Coding: NameNode may get blocked in waitForLoadingFSImage() when 
> loading editlog
> ----------------------------------------------------------------------------------------
>
>                 Key: HDFS-8308
>                 URL: https://issues.apache.org/jira/browse/HDFS-8308
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Jing Zhao
>            Assignee: Jing Zhao
>         Attachments: HDFS-8308.000.patch
>
>
> If the editlog contains a transaction for creating an EC file, the NN will 
> get blocked in {{waitForLoadingFSImage}} because the following call path:
> FSDirectory#addFileForEditLog --> FSDirectory#isInECZone --> 
> FSDirectory#getECSchema --> ECZoneManager#getECSchema --> 
> ECZoneManager#getECZoneInfo --> FSNamesystem#getSchema --> 
> waitForLoadingFSImage
> This jira plans to fix this bug and also do some code cleanup.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to