Browse Source

HDFS-11287. Storage class member storageDirs should be private to avoid unprotected access by derived classes. (Manoj Govindassamy via lei)

Lei Xu 8 years ago
parent
commit
63320d1daa

+ 2 - 2
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Storage.java

@@ -124,9 +124,9 @@ public abstract class Storage extends StorageInfo {
     public boolean isOfType(StorageDirType type);
     public boolean isOfType(StorageDirType type);
   }
   }
 
 
-  protected List<StorageDirectory> storageDirs =
+  private final List<StorageDirectory> storageDirs =
       new CopyOnWriteArrayList<>();
       new CopyOnWriteArrayList<>();
-  
+
   private class DirIterator implements Iterator<StorageDirectory> {
   private class DirIterator implements Iterator<StorageDirectory> {
     final StorageDirType dirType;
     final StorageDirType dirType;
     final boolean includeShared;
     final boolean includeShared;

+ 1 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolSliceStorage.java

@@ -299,7 +299,7 @@ public class BlockPoolSliceStorage extends Storage {
          it.hasNext(); ) {
          it.hasNext(); ) {
       StorageDirectory sd = it.next();
       StorageDirectory sd = it.next();
       if (sd.getRoot().getAbsoluteFile().equals(absPathToRemove)) {
       if (sd.getRoot().getAbsoluteFile().equals(absPathToRemove)) {
-        this.storageDirs.remove(sd);
+        getStorageDirs().remove(sd);
         break;
         break;
       }
       }
     }
     }

+ 1 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataStorage.java

@@ -508,7 +508,7 @@ public class DataStorage extends Storage {
           bpsStorage.remove(bpRoot.getAbsoluteFile());
           bpsStorage.remove(bpRoot.getAbsoluteFile());
         }
         }
 
 
-        this.storageDirs.remove(sd);
+        getStorageDirs().remove(sd);
         try {
         try {
           sd.unlock();
           sd.unlock();
         } catch (IOException e) {
         } catch (IOException e) {