소스 검색

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 년 전
부모
커밋
6a7bf9f850
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileStatus.java

+ 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);
     }