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]