You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Zhe Zhang (JIRA)" <ji...@apache.org> on 2014/12/25 00:22:14 UTC
[jira] [Updated] (HDFS-7339) Create block groups for initial block
encoding
[ https://issues.apache.org/jira/browse/HDFS-7339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhe Zhang updated HDFS-7339:
----------------------------
Status: Open (was: Patch Available)
Will update patch for striping design
> Create block groups for initial block encoding
> ----------------------------------------------
>
> Key: HDFS-7339
> URL: https://issues.apache.org/jira/browse/HDFS-7339
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: Zhe Zhang
> Assignee: Zhe Zhang
> Attachments: Encoding-design-NN.jpg, HDFS-7339-001.patch
>
>
> All erasure codec operations center around the concept of _block group_; they are formed in initial encoding and looked up in recoveries and conversions. A lightweight class {{BlockGroup}} is created to record the original and parity blocks in a coding group, as well as a pointer to the codec schema (pluggable codec schemas will be supported in HDFS-7337). With the striping layout, the HDFS client needs to operate on all blocks in a {{BlockGroup}} concurrently. Therefore we propose to extend a file’s inode to switch between _contiguous_ and _striping_ modes, with the current mode recorded in a binary flag. An array of BlockGroups (or BlockGroup IDs) is added, which remains empty for “traditional” HDFS files with contiguous block layout.
> The NameNode creates and maintains {{BlockGroup}} instances through the new {{ECManager}} component; the attached figure has an illustration of the architecture. As a simple example, when a {_Striping+EC_} file is created and written to, it will serve requests from the client to allocate new {{BlockGroups}} and store them under the {{INodeFile}}. In the current phase, {{BlockGroups}} are allocated both in initial online encoding and in the conversion from replication to EC. {{ECManager}} also facilitates the lookup of {{BlockGroup}} information for block recovery work.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)