From 8cf4bc4bda5b0d33e42168ed2688396524598ead Mon Sep 17 00:00:00 2001 From: Wei-Chiu Chuang Date: Thu, 24 Oct 2019 13:09:52 -0700 Subject: [PATCH] HDFS-14910. Rename Snapshot with Pre Descendants Fail With IllegalArgumentException. Contributed by Wei-Chiu Chuang. (#1672) Reviewed-by: Ayush Saxena (cherry picked from commit a1b4eebcc92976a9fb78ad5d3ab70c52cc0a5fa7) --- .../org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java index b592c3ff896..85d5a45344a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java +++ b/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 {