CHANGES.HDFS-2802.txt 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. Branch-2802 Snapshot (Unreleased)
  2. HDFS-4076. Support snapshot of single files. (szetszwo)
  3. HDFS-4082. Add editlog opcodes for snapshot create and delete operations.
  4. (suresh via szetszwo)
  5. HDFS-4086. Add editlog opcodes to allow and disallow snapshots on a
  6. directory. (Brandon Li via suresh)
  7. HDFS-4083. Protocol changes for snapshots. (suresh)
  8. HDFS-4077. Add support for Snapshottable Directory. (szetszwo via suresh)
  9. HDFS-4087. Protocol changes for listSnapshots functionality.
  10. (Brandon Li via suresh)
  11. HDFS-4079. Add SnapshotManager which maintains a list for all the
  12. snapshottable directories and supports snapshot methods such as setting a
  13. directory to snapshottable and creating a snapshot. (szetszwo)
  14. HDFS-4078. Handle replication in snapshots. (szetszwo)
  15. HDFS-4084. Provide CLI support to allow and disallow snapshot
  16. on a directory. (Brondon Li via suresh)
  17. HDFS-4091. Add snapshot quota to limit the number of snapshots allowed.
  18. (szetszwo)
  19. HDFS-4097. Provide CLI support for createSnapshot. (Brandon Li via suresh)
  20. HDFS-4092. Update file deletion logic for snapshot so that the current inode
  21. is removed from the circular linked list; and if some blocks at the end of the
  22. block list no longer belong to any other inode, collect them and update the
  23. block list. (szetszwo)
  24. HDFS-4111. Support snapshot of subtrees. (szetszwo via suresh)
  25. HDFS-4119. Complete the allowSnapshot code and add a test for it. (szetszwo)
  26. HDFS-4133. Add testcases for testing basic snapshot functionalities.
  27. (Jing Zhao via suresh)
  28. HDFS-4116. Add auditlog for some snapshot operations. (Jing Zhao via suresh)
  29. HDFS-4095. Add some snapshot related metrics. (Jing Zhao via suresh)
  30. HDFS-4141. Support directory diff - the difference between the current state
  31. and a previous snapshot of an INodeDirectory. (szetszwo)
  32. HDFS-4146. Use getter and setter in INodeFileWithLink to access blocks and
  33. initialize root directory as snapshottable. (szetszwo)
  34. HDFS-4149. Implement the disallowSnapshot(..) in FSNamesystem and add
  35. resetSnapshottable(..) to SnapshotManager. (szetszwo)
  36. HDFS-4147. When there is a snapshot in a subtree, deletion of the subtree
  37. should fail. (Jing Zhao via szetszwo)
  38. HDFS-4150. Update the inode in the block map when a snapshotted file or a
  39. snapshot file is deleted. (Jing Zhao via szetszwo)
  40. HDFS-4159. Rename should fail when the destination directory is snapshottable
  41. and has snapshots. (Jing Zhao via szetszwo)
  42. HDFS-4170. Add snapshot information to INodesInPath. (szetszwo)
  43. HDFS-4177. Add a snapshot parameter to INodeDirectory.getChildrenList() for
  44. selecting particular snapshot children list views. (szetszwo)
  45. HDFS-4148. Disallow write/modify operations on files and directories in a
  46. snapshot. (Brandon Li via suresh)
  47. HDFS-4188. Add Snapshot.ID_COMPARATOR for comparing IDs and fix a bug in
  48. ReadOnlyList.Util.binarySearch(..). (szetszwo)
  49. HDFS-4187. Add tests for replication handling in snapshots. (Jing Zhao via
  50. szetszwo)
  51. HDFS-4196. Support renaming of snapshots. (Jing Zhao via szetszwo)
  52. HDFS-4175. Additional snapshot tests for more complicated directory
  53. structure and modifications. (Jing Zhao via suresh)
  54. HDFS-4293. Fix TestSnapshot failure. (Jing Zhao via suresh)
  55. HDFS-4317. Change INode and its subclasses to support HDFS-4103. (szetszwo)
  56. HDFS-4103. Support O(1) snapshot creation. (szetszwo)
  57. HDFS-4330. Support snapshots up to the snapshot limit. (szetszwo)
  58. HDFS-4357. Fix a bug that if an inode is replaced, further INode operations
  59. should apply to the new inode. (Jing Zhao via szetszwo)
  60. HDFS-4230. Support listing of all the snapshottable directories. (Jing Zhao
  61. via szetszwo)
  62. HDFS-4244. Support snapshot deletion. (Jing Zhao via szetszwo)
  63. HDFS-4245. Include snapshot related operations in TestOfflineEditsViewer.
  64. (Jing Zhao via szetszwo)
  65. HDFS-4395. In INodeDirectorySnapshottable's constructor, the passed-in dir
  66. could be an INodeDirectoryWithSnapshot. (Jing Zhao via szetszwo)
  67. HDFS-4397. Fix a bug in INodeDirectoryWithSnapshot.Diff.combinePostDiff(..)
  68. that it may put the wrong node into the deleted list. (szetszwo)
  69. HDFS-4407. Change INodeDirectoryWithSnapshot.Diff.combinePostDiff(..) to
  70. merge-sort like and keep the postDiff parameter unmodified. (szetszwo)
  71. HDFS-4098. Add FileWithSnapshot, INodeFileUnderConstructionWithSnapshot and
  72. INodeFileUnderConstructionSnapshot for supporting append to snapshotted files.
  73. (szetszwo)
  74. HDFS-4126. Add reading/writing snapshot information to FSImage.
  75. (Jing Zhao via suresh)
  76. HDFS-4436. Change INode.recordModification(..) to return only the current
  77. inode and remove the updateCircularList parameter from some methods in
  78. INodeDirectoryWithSnapshot.Diff. (szetszwo)
  79. HDFS-4429. When the latest snapshot exists, INodeFileUnderConstruction should
  80. be replaced with INodeFileWithSnapshot but not INodeFile. (Jing Zhao
  81. via szetszwo)
  82. HDFS-4441. Move INodeDirectoryWithSnapshot.Diff and the related classes to a
  83. package. (szetszwo)
  84. HDFS-4432. Support INodeFileUnderConstructionWithSnapshot in FSImage
  85. saving/loading. (Jing Zhao via suresh)
  86. HDFS-4131. Add capability to namenode to get snapshot diff. (Jing Zhao via
  87. suresh)
  88. HDFS-4447. Refactor INodeDirectoryWithSnapshot for supporting general INode
  89. diff lists. (szetszwo)
  90. HDFS-4189. Renames the getMutableXxx methods to getXxx4Write and fix a bug
  91. that some getExistingPathINodes calls should be getINodesInPath4Write.
  92. (szetszwo)
  93. HDFS-4361. When listing snapshottable directories, only return those
  94. where the user has permission to take snapshots. (Jing Zhao via szetszwo)
  95. HDFS-4464. Combine collectSubtreeBlocksAndClear with deleteDiffsForSnapshot
  96. and rename it to destroySubtreeAndCollectBlocks. (szetszwo)
  97. HDFS-4414. Add support for getting snapshot diff from DistributedFileSystem.
  98. (Jing Zhao via suresh)
  99. HDFS-4446. Support file snapshots with diff lists. (szetszwo)
  100. HDFS-4480. Eliminate the file snapshot circular linked list. (szetszwo)
  101. HDFS-4481. Change fsimage to support snapshot file diffs. (szetszwo)
  102. HDFS-4500. Refactor snapshot INode methods. (szetszwo)
  103. HDFS-4487. Fix snapshot diff report for HDFS-4446. (Jing Zhao via szetszwo)
  104. HDFS-4431. Support snapshot in OfflineImageViewer. (Jing Zhao via szetszwo)
  105. HDFS-4503. Update computeContentSummary(..), spaceConsumedInTree(..) and
  106. diskspaceConsumed(..) in INode for snapshot. (szetszwo)
  107. HDFS-4499. Fix file/directory/snapshot deletion for file diff. (Jing Zhao
  108. via szetszwo)
  109. HDFS-4524. Update SnapshotManager#snapshottables when loading fsimage.
  110. (Jing Zhao via szetszwo)
  111. HDFS-4520. Support listing snapshots under a snapshottable directory using ls.
  112. (Jing Zhao via szetszwo)
  113. HDFS-4514. Add CLI for supporting snapshot rename, diff report, and
  114. snapshottable directory listing. (Jing Zhao via szetszwo)
  115. HDFS-4523. Fix INodeFile replacement, TestQuota and javac errors from trunk
  116. merge. (szetszwo)
  117. HDFS-4507. Update quota verification for snapshots. (szetszwo)
  118. HDFS-4545. With snapshots, FSDirectory.unprotectedSetReplication(..) always
  119. changes file replication but it may or may not changes block replication.
  120. (szetszwo)
  121. HDFS-4557. Fix FSDirectory#delete when INode#cleanSubtree returns 0.
  122. (Jing Zhao via szetszwo)
  123. HDFS-4579. Annotate snapshot tests. (Arpit Agarwal via suresh)
  124. HDFS-4574. Move Diff to the util package. (szetszwo)
  125. HDFS-4563. Update namespace/diskspace usage after deleting snapshots.
  126. (Jing Zhao via szetszwo)
  127. HDFS-4144. Create test for all snapshot-related metrics.
  128. (Jing Zhao via suresh)
  129. HDFS-4556. Add snapshotdiff and LsSnapshottableDir tools to hdfs script.
  130. (Arpit Agarwal via szetszwo)
  131. HDFS-4534. Add INodeReference in order to support rename with snapshots.
  132. (szetszwo)
  133. HDFS-4616. Update the FilesDeleted metric while deleting file/dir in the
  134. current tree. (Jing Zhao via szetszwo)
  135. HDFS-4627. Fix FSImageFormat#Loader NPE and synchronization issues.
  136. (Jing Zhao via suresh)
  137. HDFS-4612. Not to use INode.getParent() when generating snapshot diff report.
  138. (Jing Zhao via szetszwo)
  139. HDFS-4636. Update quota usage when deleting files/dirs that were created
  140. after taking the latest snapshot. (Jing Zhao via szetszwo)
  141. HDFS-4648. For snapshot deletion, when merging the diff from to-delete
  142. snapshot to the prior snapshot, make sure files/directories created after
  143. the prior snapshot get deleted. (Jing Zhao via szetszwo)
  144. HDFS-4637. INodeDirectory#replaceSelf4Quota may incorrectly convert a newly
  145. created directory to an INodeDirectoryWithSnapshot. (Jing Zhao via szetszwo)
  146. HDFS-4611. Update FSImage for INodeReference. (szetszwo)
  147. HDFS-4647. Rename should call setLocalName after an inode is removed from
  148. snapshots. (Arpit Agarwal via szetszwo)
  149. HDFS-4684. Use INode id for image serialization when writing INodeReference.
  150. (szetszwo)
  151. HDFS-4675. Fix rename across snapshottable directories. (Jing Zhao via
  152. szetszwo)
  153. HDFS-4692. Use timestamp as default snapshot names. (szetszwo)
  154. HDFS-4666. Define ".snapshot" as a reserved inode name so that users cannot
  155. create a file/directory with ".snapshot" as the name. If ".snapshot" is used
  156. in a previous version of HDFS, it must be renamed before upgrade; otherwise,
  157. upgrade will fail. (szetszwo)
  158. HDFS-4700. Fix the undo section of rename with snapshots. (Jing Zhao via
  159. szetszwo)
  160. HDFS-4529. Disallow concat when one of the src files is in some snapshot.
  161. (szetszwo)
  162. HDFS-4550. Refactor INodeDirectory.INodesInPath to a standalone class.
  163. (szetszwo)
  164. HDFS-4707. Add snapshot methods to FilterFileSystem and fix findbugs warnings.
  165. (szetszwo)
  166. HDFS-4706. Do not replace root inode for disallowSnapshot. (szetszwo)
  167. HDFS-4717. Change the path parameter type of the snapshot methods in
  168. HdfsAdmin from String to Path. (szetszwo)
  169. HDFS-4708. Add snapshot user documentation. (szetszwo)
  170. HDFS-4726. Fix test failures after merging the INodeId-INode mapping
  171. from trunk. (Jing Zhao via szetszwo)
  172. HDFS-4727. Update inodeMap after deleting files/directories/snapshots.
  173. (Jing Zhao via szetszwo)
  174. HDFS-4719. Remove AbstractINodeDiff.Factory and move its methods to
  175. AbstractINodeDiffList. (Arpit Agarwal via szetszwo)