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