Browse Source

HDFS-14910. Rename Snapshot with Pre Descendants Fail With IllegalArgumentException. Contributed by Wei-Chiu Chuang. (#1672)

Reviewed-by: Ayush Saxena <ayushsaxena@apache.org>
(cherry picked from commit a1b4eebcc92976a9fb78ad5d3ab70c52cc0a5fa7)
Wei-Chiu Chuang 5 năm trước cách đây
mục cha
commit
8cf4bc4bda

+ 2 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java

@@ -841,7 +841,8 @@ public class INodeDirectory extends INodeWithAdditionalFields
       // If the inode has empty diff list and sf is not a
       // DirectorySnapshottableFeature, remove the feature to save heap.
       if (sf.getDiffs().isEmpty() &&
-          !(sf instanceof DirectorySnapshottableFeature)) {
+          !(sf instanceof DirectorySnapshottableFeature) &&
+          getDirectoryWithSnapshotFeature() != null) {
         this.removeFeature(sf);
       }
     } else {