vinayakumarb commented on a change in pull request #2377:
URL: https://github.com/apache/hadoop/pull/2377#discussion_r513143383



##########
File path: 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
##########
@@ -3569,6 +3569,9 @@ void setQuota(String src, long nsQuota, long ssQuota, 
StorageType type)
     if (type != null) {
       requireEffectiveLayoutVersionForFeature(Feature.QUOTA_BY_STORAGE_TYPE);
     }
+    if (type == StorageType.NVDIMM) {
+      requireEffectiveLayoutVersionForFeature(Feature.NVDIMM_SUPPORT);
+    }

Review comment:
       Similar check you need to add when user tries to use NVDIMM based 
storage policy.. 

##########
File path: 
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/StorageType.java
##########
@@ -33,13 +33,12 @@
 @InterfaceAudience.Public
 @InterfaceStability.Unstable
 public enum StorageType {
-  // sorted by the speed of the storage types, from fast to slow
   RAM_DISK(true, true),
-  NVDIMM(false, true),
   SSD(false, false),
   DISK(false, false),
   ARCHIVE(false, false),
-  PROVIDED(false, false);
+  PROVIDED(false, false),
+  NVDIMM(false, true);
 

Review comment:
       setQuota() check will only block during rollingupgrade. But once its 
finalized, still old clients experience failure.
   Anyway thats the current problem, even before this feature. Can be handled 
in a separate Jira.
   
   More details about failure: 2.10.1 client asking quota usage from 3.3.0 
namenode.
   ```
   $ bin/hdfs dfs -fs hdfs://namenode:8020/ -count -q -t -h /
   count: Message missing required fields: 
usage.typeQuotaInfos.typeQuotaInfo[3].type
   ```
   Above issue is coming, because 2.10.1 client doent know about PROVIDED 
StorageType.
   Similar problem will occur for NVDIMM also from previous version clients.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to