BREAKDOWN OF HDFS-7285 SUBTASKS AND RELATED JIRAS HDFS-7347. Configurable erasure coding policy for individual files and directories ( Zhe Zhang via vinayakumarb ) HDFS-7339. Representing striped block groups in NameNode with hierarchical naming protocol ( Zhe Zhang ) HDFS-7652. Process block reports for erasure coded blocks (Zhe Zhang) HDFS-7716. Erasure Coding: extend BlockInfo to handle EC info (Jing Zhao) HDFS-7749. Erasure Coding: Add striped block support in INodeFile (Jing Zhao) HDFS-7837. Erasure Coding: allocate and persist striped blocks in NameNode (Jing Zhao via Zhe Zhang) HDFS-7872. Erasure Coding: INodeFile.dumpTreeRecursively() supports to print striped blocks (Takuya Fukudome via jing9) HDFS-7853. Erasure coding: extend LocatedBlocks to support reading from striped files (Jing Zhao) HDFS-7826. Erasure Coding: Update INodeFile quota computation for striped blocks ( Kai Sasaki via jing9 ) HDFS-7912. Erasure Coding: track BlockInfo instead of Block in UnderReplicatedBlocks and PendingReplicationBlocks (Jing Zhao) HDFS-7369. Erasure coding: distribute recovery work for striped blocks to DataNode (Zhe Zhang) HDFS-7864. Erasure Coding: Update safemode calculation for striped blocks (GAO Rui via jing9) HDFS-7827. Erasure Coding: support striped blocks in non-protobuf fsimage ( Hui Zheng via jing9 ) HDFS-7616. Add a test for BlockGroup support in FSImage. (Takuya Fukudome via szetszwo) HDFS-7907. Erasure Coding: track invalid, corrupt, and under-recovery striped blocks in NameNode (Jing Zhao) HDFS-8005. Erasure Coding: simplify striped block recovery work computation and add tests (Jing Zhao) HDFS-7617. Add unit tests for editlog transactions for EC (Hui Zheng via Zhe Zhang) HDFS-7839. Erasure coding: implement facilities in NameNode to create and manage EC zones (Zhe Zhang) HDFS-7969. Erasure coding: NameNode support for lease recovery of striped block groups. (Zhe Zhang) HDFS-7782. Erasure coding: pread from files in striped layout. (Zhe Zhang and Jing Zhao via Zhe Zhang) HDFS-8023. Erasure Coding: retrieve eraure coding schema for a file from NameNode (vinayakumarb) HDFS-8074. Define a system-wide default EC schema. (Kai Zheng) HDFS-8077. Erasure coding: fix bugs in EC zone and symlinks. (Jing Zhao and Zhe Zhang via Jing Zhao) HDFS-8104. Make hard-coded values consistent with the system default schema first before remove them. (Kai Zheng) HDFS-7889. Subclass DFSOutputStream to support writing striping layout files. (Li Bo via Kai Zheng) HDFS-8090. Erasure Coding: Add RPC to client-namenode to list all ECSchemas loaded in Namenode. (vinayakumarb) HDFS-8122. Erasure Coding: Support specifying ECSchema during creation of ECZone. (Vinayakumar B via Zhe Zhang) HDFS-8114. Erasure coding: Add auditlog FSNamesystem#createErasureCodingZone if this operation fails. (Rakesh R via Zhe Zhang) HDFS-8123. Erasure Coding: Better to move EC related proto messages to a separate erasurecoding proto file (Rakesh R via vinayakumarb) HDFS-7349. Support DFS command for the EC encoding (vinayakumarb) HDFS-8120. Erasure coding: created util class to analyze striped block groups. (Contributed by Zhe Zhang and Li Bo via Jing Zhao) HDFS-7994. Detect if resevered EC Block ID is already used during namenode startup. (Hui Zheng via szetszwo) HDFS-8167. BlockManager.addBlockCollectionWithCheck should check if the block is a striped block. (Hui Zheng via zhz). HDFS-8166. DFSStripedOutputStream should not create empty blocks. (Jing Zhao) HDFS-7937. Erasure Coding: INodeFile quota computation unit tests. (Kai Sasaki via Jing Zhao) HDFS-8145. Fix the editlog corruption exposed by failed TestAddStripedBlocks. (Jing Zhao) HDFS-8146. Protobuf changes for BlockECRecoveryCommand and its fields for making it ready for transfer to DN (Uma Maheswara Rao G via vinayakumarb) HDFS-8181. createErasureCodingZone sets retryCache state as false always (Uma Maheswara Rao G via vinayakumarb) HDFS-8190. StripedBlockUtil.getInternalBlockLength may have overflow error. (szetszwo) HDFS-8216. TestDFSStripedOutputStream should use BlockReaderTestUtil to create BlockReader. (szetszwo via Zhe Zhang) HDFS-8212. DistributedFileSystem.createErasureCodingZone should pass schema in FileSystemLinkResolver. (szetszwo via Zhe Zhang) HDFS-8024. Erasure Coding: ECworker frame, basics, bootstraping and configuration. (umamahesh) HDFS-8156. Add/implement necessary APIs even we just have the system default schema. (Kai Zheng via Zhe Zhang) HDFS-8136. Client gets and uses EC schema when reads and writes a stripping file. (Kai Sasaki via Kai Zheng) HDFS-8233. Fix DFSStripedOutputStream#getCurrentBlockGroupBytes when the last stripe is at the block group boundary. (jing9) HDFS-8223. Should calculate checksum for parity blocks in DFSStripedOutputStream. (Yi Liu via jing9) HDFS-8228. Erasure Coding: SequentialBlockGroupIdGenerator#nextValue may cause block id conflicts (Jing Zhao via Zhe Zhang) HDFS-8033. Erasure coding: stateful (non-positional) read from files in striped layout (Zhe Zhang) HDFS-8230. Erasure Coding: Ignore DatanodeProtocol#DNA_ERASURE_CODING_RECOVERY commands from standbynode if any (vinayakumarb) HDFS-8189. ClientProtocol#createErasureCodingZone API was wrongly annotated as Idempotent (vinayakumarb) HDFS-8235. Erasure Coding: Create DFSStripedInputStream in DFSClient#open. (Kai Sasaki via jing9) HDFS-8272. Erasure Coding: simplify the retry logic in DFSStripedInputStream (stateful read). (Jing Zhao via Zhe Zhang) HDFS-8282. Erasure coding: move striped reading logic to StripedBlockUtil. (Zhe Zhang) HDFS-8183. Erasure Coding: Improve DFSStripedOutputStream closing of datastreamer threads. (Rakesh R via Zhe Zhang) HDFS-8308. Erasure Coding: NameNode may get blocked in waitForLoadingFSImage() when loading editlog. (jing9) HDFS-7949. WebImageViewer need support file size calculation with striped blocks. (Rakesh R via Zhe Zhang) HDFS-8316. Erasure coding: refactor EC constants to be consistent with HDFS-8249. (Zhe Zhang via jing9) HDFS-8281. Erasure Coding: implement parallel stateful reading for striped layout. (jing9) HDFS-8137. Send the EC schema to DataNode via EC encoding/recovering command(umamahesh) HDFS-8242. Erasure Coding: XML based end-to-end test for ECCli commands (Rakesh R via vinayakumarb) HDFS-8324. Add trace info to DFSClient#getErasureCodingZoneInfo(..) (vinayakumarb via umamahesh) HDFS-7672. Handle write failure for stripping blocks and refactor the existing code in DFSStripedOutputStream and StripedDataStreamer. (szetszwo) HDFS-7348. Erasure Coding: DataNode reconstruct striped blocks. (Yi Liu via Zhe Zhang) HADOOP-11921. Enhance tests for erasure coders. (Kai Zheng) HDFS-8334. Erasure coding: rename DFSStripedInputStream related test classes. (Zhe Zhang) HDFS-8129. Erasure Coding: Maintain consistent naming for Erasure Coding related classes - EC/ErasureCoding (umamahesh) HDFS-8203. Erasure Coding: Seek and other Ops in DFSStripedInputStream. (Yi Liu via jing9) HDFS-8289. Erasure Coding: add ECSchema to HdfsFileStatus. (Yong Zhang via jing9) HDFS-8355. Erasure Coding: Refactor BlockInfo and BlockInfoUnderConstruction. (Tsz Wo Nicholas Sze via jing9)