Browse Source

HDFS-14009. HttpFS: FileStatus#setSnapShotEnabledFlag throws InvocationTargetException when attribute set is emptySet. Contributed by Siyao Meng.

Signed-off-by: Wei-Chiu Chuang <weichiu@apache.org>
Siyao Meng 6 years ago
parent
commit
6a7bf9f850

+ 5 - 1
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileStatus.java

@@ -360,7 +360,11 @@ public class FileStatus implements Writable, Comparable<Object>,
    */
   public void setSnapShotEnabledFlag(boolean isSnapShotEnabled) {
     if (isSnapShotEnabled) {
-      attr.add(AttrFlags.SNAPSHOT_ENABLED);
+      if (attr == NONE) {
+        attr = EnumSet.of(AttrFlags.SNAPSHOT_ENABLED);
+      } else {
+        attr.add(AttrFlags.SNAPSHOT_ENABLED);
+      }
     } else {
       attr.remove(AttrFlags.SNAPSHOT_ENABLED);
     }