CHANGES-HDFS-EC-7285.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. BREAKDOWN OF HDFS-7285 SUBTASKS AND RELATED JIRAS
  2. HDFS-7347. Configurable erasure coding policy for individual files and
  3. directories ( Zhe Zhang via vinayakumarb )
  4. HDFS-7339. Representing striped block groups in NameNode with hierarchical
  5. naming protocol ( Zhe Zhang )
  6. HDFS-7652. Process block reports for erasure coded blocks (Zhe Zhang)
  7. HDFS-7716. Erasure Coding: extend BlockInfo to handle EC info (Jing Zhao)
  8. HDFS-7749. Erasure Coding: Add striped block support in INodeFile (Jing Zhao)
  9. HDFS-7837. Erasure Coding: allocate and persist striped blocks in NameNode
  10. (Jing Zhao via Zhe Zhang)
  11. HDFS-7872. Erasure Coding: INodeFile.dumpTreeRecursively() supports to print
  12. striped blocks (Takuya Fukudome via jing9)
  13. HDFS-7853. Erasure coding: extend LocatedBlocks to support reading from
  14. striped files (Jing Zhao)
  15. HDFS-7826. Erasure Coding: Update INodeFile quota computation for striped
  16. blocks ( Kai Sasaki via jing9 )
  17. HDFS-7912. Erasure Coding: track BlockInfo instead of Block in
  18. UnderReplicatedBlocks and PendingReplicationBlocks (Jing Zhao)
  19. HDFS-7369. Erasure coding: distribute recovery work for striped blocks to
  20. DataNode (Zhe Zhang)
  21. HDFS-7864. Erasure Coding: Update safemode calculation for striped blocks
  22. (GAO Rui via jing9)
  23. HDFS-7827. Erasure Coding: support striped blocks in non-protobuf fsimage
  24. ( Hui Zheng via jing9 )
  25. HDFS-7616. Add a test for BlockGroup support in FSImage.
  26. (Takuya Fukudome via szetszwo)
  27. HDFS-7907. Erasure Coding: track invalid, corrupt, and under-recovery striped
  28. blocks in NameNode (Jing Zhao)
  29. HDFS-8005. Erasure Coding: simplify striped block recovery work computation
  30. and add tests (Jing Zhao)
  31. HDFS-7617. Add unit tests for editlog transactions for EC
  32. (Hui Zheng via Zhe Zhang)
  33. HDFS-7839. Erasure coding: implement facilities in NameNode to create and
  34. manage EC zones (Zhe Zhang)
  35. HDFS-7969. Erasure coding: NameNode support for lease recovery of striped
  36. block groups. (Zhe Zhang)
  37. HDFS-7782. Erasure coding: pread from files in striped layout.
  38. (Zhe Zhang and Jing Zhao via Zhe Zhang)
  39. HDFS-8023. Erasure Coding: retrieve eraure coding schema for a file from
  40. NameNode (vinayakumarb)
  41. HDFS-8074. Define a system-wide default EC schema. (Kai Zheng)
  42. HDFS-8077. Erasure coding: fix bugs in EC zone and symlinks.
  43. (Jing Zhao and Zhe Zhang via Jing Zhao)
  44. HDFS-8104. Make hard-coded values consistent with the system default schema first before remove them. (Kai Zheng)
  45. HDFS-7889. Subclass DFSOutputStream to support writing striping layout files. (Li Bo via Kai Zheng)
  46. HDFS-8090. Erasure Coding: Add RPC to client-namenode to list all
  47. ECSchemas loaded in Namenode. (vinayakumarb)
  48. HDFS-8122. Erasure Coding: Support specifying ECSchema during creation of ECZone.
  49. (Vinayakumar B via Zhe Zhang)
  50. HDFS-8114. Erasure coding: Add auditlog FSNamesystem#createErasureCodingZone if this
  51. operation fails. (Rakesh R via Zhe Zhang)
  52. HDFS-8123. Erasure Coding: Better to move EC related proto messages to a
  53. separate erasurecoding proto file (Rakesh R via vinayakumarb)
  54. HDFS-7349. Support DFS command for the EC encoding (vinayakumarb)
  55. HDFS-8120. Erasure coding: created util class to analyze striped block groups.
  56. (Contributed by Zhe Zhang and Li Bo via Jing Zhao)
  57. HDFS-7994. Detect if resevered EC Block ID is already used during namenode
  58. startup. (Hui Zheng via szetszwo)
  59. HDFS-8167. BlockManager.addBlockCollectionWithCheck should check if the block is a striped block. (Hui Zheng via zhz).
  60. HDFS-8166. DFSStripedOutputStream should not create empty blocks. (Jing Zhao)
  61. HDFS-7937. Erasure Coding: INodeFile quota computation unit tests.
  62. (Kai Sasaki via Jing Zhao)
  63. HDFS-8145. Fix the editlog corruption exposed by failed TestAddStripedBlocks.
  64. (Jing Zhao)
  65. HDFS-8146. Protobuf changes for BlockECRecoveryCommand and its fields for
  66. making it ready for transfer to DN (Uma Maheswara Rao G via vinayakumarb)
  67. HDFS-8181. createErasureCodingZone sets retryCache state as false always
  68. (Uma Maheswara Rao G via vinayakumarb)
  69. HDFS-8190. StripedBlockUtil.getInternalBlockLength may have overflow error.
  70. (szetszwo)
  71. HDFS-8216. TestDFSStripedOutputStream should use BlockReaderTestUtil to
  72. create BlockReader. (szetszwo via Zhe Zhang)
  73. HDFS-8212. DistributedFileSystem.createErasureCodingZone should pass schema
  74. in FileSystemLinkResolver. (szetszwo via Zhe Zhang)
  75. HDFS-8024. Erasure Coding: ECworker frame, basics, bootstraping and configuration.
  76. (umamahesh)
  77. HDFS-8156. Add/implement necessary APIs even we just have the system default
  78. schema. (Kai Zheng via Zhe Zhang)
  79. HDFS-8136. Client gets and uses EC schema when reads and writes a stripping
  80. file. (Kai Sasaki via Kai Zheng)
  81. HDFS-8233. Fix DFSStripedOutputStream#getCurrentBlockGroupBytes when the last
  82. stripe is at the block group boundary. (jing9)
  83. HDFS-8223. Should calculate checksum for parity blocks in DFSStripedOutputStream.
  84. (Yi Liu via jing9)
  85. HDFS-8228. Erasure Coding: SequentialBlockGroupIdGenerator#nextValue may cause
  86. block id conflicts (Jing Zhao via Zhe Zhang)
  87. HDFS-8033. Erasure coding: stateful (non-positional) read from files in
  88. striped layout (Zhe Zhang)
  89. HDFS-8230. Erasure Coding: Ignore DatanodeProtocol#DNA_ERASURE_CODING_RECOVERY
  90. commands from standbynode if any (vinayakumarb)
  91. HDFS-8189. ClientProtocol#createErasureCodingZone API was wrongly annotated
  92. as Idempotent (vinayakumarb)
  93. HDFS-8235. Erasure Coding: Create DFSStripedInputStream in DFSClient#open.
  94. (Kai Sasaki via jing9)
  95. HDFS-8272. Erasure Coding: simplify the retry logic in DFSStripedInputStream
  96. (stateful read). (Jing Zhao via Zhe Zhang)
  97. HDFS-8282. Erasure coding: move striped reading logic to StripedBlockUtil.
  98. (Zhe Zhang)
  99. HDFS-8183. Erasure Coding: Improve DFSStripedOutputStream closing of
  100. datastreamer threads. (Rakesh R via Zhe Zhang)
  101. HDFS-8308. Erasure Coding: NameNode may get blocked in waitForLoadingFSImage()
  102. when loading editlog. (jing9)
  103. HDFS-7949. WebImageViewer need support file size calculation with striped
  104. blocks. (Rakesh R via Zhe Zhang)
  105. HDFS-8316. Erasure coding: refactor EC constants to be consistent with HDFS-8249.
  106. (Zhe Zhang via jing9)
  107. HDFS-8281. Erasure Coding: implement parallel stateful reading for striped layout.
  108. (jing9)
  109. HDFS-8137. Send the EC schema to DataNode via EC encoding/recovering command(umamahesh)
  110. HDFS-8242. Erasure Coding: XML based end-to-end test for ECCli commands
  111. (Rakesh R via vinayakumarb)
  112. HDFS-8324. Add trace info to DFSClient#getErasureCodingZoneInfo(..) (vinayakumarb via
  113. umamahesh)
  114. HDFS-7672. Handle write failure for stripping blocks and refactor the
  115. existing code in DFSStripedOutputStream and StripedDataStreamer. (szetszwo)
  116. HDFS-7348. Erasure Coding: DataNode reconstruct striped blocks.
  117. (Yi Liu via Zhe Zhang)
  118. HADOOP-11921. Enhance tests for erasure coders. (Kai Zheng)
  119. HDFS-8334. Erasure coding: rename DFSStripedInputStream related test
  120. classes. (Zhe Zhang)
  121. HDFS-8129. Erasure Coding: Maintain consistent naming for Erasure Coding related classes - EC/ErasureCoding
  122. (umamahesh)
  123. HDFS-8203. Erasure Coding: Seek and other Ops in DFSStripedInputStream.
  124. (Yi Liu via jing9)
  125. HDFS-8289. Erasure Coding: add ECSchema to HdfsFileStatus. (Yong Zhang via
  126. jing9)
  127. HDFS-8355. Erasure Coding: Refactor BlockInfo and BlockInfoUnderConstruction.
  128. (Tsz Wo Nicholas Sze via jing9)
  129. HDFS-7678. Erasure coding: DFSInputStream with decode functionality (pread).
  130. (Zhe Zhang)
  131. HDFS-8372. Erasure coding: compute storage type quotas for striped files,
  132. to be consistent with HDFS-8327. (Zhe Zhang via jing9)
  133. HDFS-8368. Erasure Coding: DFS opening a non-existent file need to be
  134. handled properly (Rakesh R via zhz)
  135. HDFS-8363. Erasure Coding: DFSStripedInputStream#seekToNewSource. (yliu)
  136. HDFS-8195. Erasure coding: Fix file quota change when we complete/commit
  137. the striped blocks. (Takuya Fukudome via zhz)
  138. HDFS-8364. Erasure coding: fix some minor bugs in EC CLI
  139. (Walter Su via vinayakumarb)
  140. HDFS-8391. NN should consider current EC tasks handling count from DN while
  141. assigning new tasks. (umamahesh)
  142. HDFS-8367. BlockInfoStriped uses EC schema. (Kai Sasaki via Kai Zheng)
  143. HDFS-8352. Erasure Coding: test webhdfs read write stripe file. (waltersu4549)
  144. HDFS-8417. Erasure Coding: Pread failed to read data starting from not-first stripe.
  145. (Walter Su via jing9)
  146. HDFS-8418. Fix the isNeededReplication calculation for Striped block in NN.
  147. (Yi Liu via jing9)
  148. HDFS-8320. Erasure coding: consolidate striping-related terminologies. (zhz)
  149. HDFS-8366. Erasure Coding: Make the timeout parameter of polling blocking queue
  150. configurable in DFSStripedOutputStream. (Li Bo)
  151. HDFS-8378. Erasure Coding: Few improvements for the erasure coding worker.
  152. (Rakesh R via waltersu4549)
  153. HDFS-8375. Add cellSize as an XAttr to ECZone. ( Vinayakumar B via zhz).
  154. HDFS-8428. Erasure Coding: Fix the NullPointerException when deleting file.
  155. (Yi Liu via zhz).
  156. HDFS-8323. Bump GenerationStamp for write faliure in DFSStripedOutputStream.
  157. (Tsz Wo Nicholas Sze via jing9)
  158. HDFS-8427. Remove dataBlockNum and parityBlockNum from BlockInfoStriped.
  159. (Kai Sasaki via jing9)
  160. HDFS-8186. Erasure coding: Make block placement policy for EC file configurable.
  161. (Walter Su via zhz)
  162. HDFS-8294. Erasure Coding: Fix Findbug warnings present in erasure coding.
  163. (Rakesh R via zhz)
  164. HDFS-8441. Erasure Coding: make condition check earlier for setReplication.
  165. (waltersu4549)
  166. HDFS-7768. Change fsck to support EC files. (Takanobu Asanuma via szetszwo)
  167. HDFS-8382. Remove chunkSize and initialize from erasure coder. (Kai Zheng)
  168. HDFS-8408. Revisit and refactor ErasureCodingInfo (vinayakumarb)
  169. HDFS-8479. Erasure coding: fix striping related logic in FSDirWriteFileOp to
  170. sync with HDFS-8421. (Zhe Zhang via jing9)
  171. HDFS-8481. Erasure coding: remove workarounds in client side stripped blocks
  172. recovering. (zhz)
  173. HDFS-8336. Expose some administrative erasure coding operations to HdfsAdmin
  174. (Uma Maheswara Rao G via vinayakumarb)
  175. HDFS-8444. Erasure Coding: fix cannot rename a zone dir
  176. (Walter Su via vinayakumarb)
  177. HDFS-8517. Fix a decoding issue in stripped block recovering in client side.
  178. (Kai Zheng via jing9)
  179. HDFS-8453. Erasure coding: properly handle start offset for internal blocks
  180. in a block group. (Zhe Zhang via jing9)
  181. HDFS-7621. Erasure Coding: update the Balancer/Mover data migration logic.
  182. (Walter Su via zhz)
  183. HDFS-8328. Follow-on to update decode for DataNode striped blocks
  184. reconstruction. (yliu)
  185. HDFS-8319. Erasure Coding: support decoding for stateful read.
  186. (Jing Zhao via zhz)
  187. HDFS-8460. Erasure Coding: stateful read result doesn't match data
  188. occasionally because of flawed test. (Walter Su via zhz)