[
https://issues.apache.org/jira/browse/HDFS-9034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15066254#comment-15066254
]
Surendra Singh Lilhore commented on HDFS-9034:
----------------------------------------------
bq. stats.subtract(node) will be called, but it will not remove the FAILED
storage.
Sorry if I understand wrong but I feel it will not happened. If we see the code
{code}
synchronized void updateHeartbeat(final DatanodeDescriptor node,
StorageReport[] reports, long cacheCapacity, long cacheUsed,
int xceiverCount, int failedVolumes,
VolumeFailureSummary volumeFailureSummary) {
stats.subtract(node);
node.updateHeartbeat(reports, cacheCapacity, cacheUsed,
xceiverCount, failedVolumes, volumeFailureSummary);
stats.add(node);
}
{code}
It will subtract before updating the FAILED state of ARCHIVE storage in
{{node}} object. {{node}} will contain the old state(NORMAL), new FAILED state
is there in {{reports}}. After subtract {{node.updateHeartbeat(…………)}} will
update the new state in node object.
Same scenario I have done in test case, if you check test code from patch
{code}
+ DataNodeTestUtils.injectDataDirFailure(dn1ArcVol1);
+ DataNodeTestUtils.injectDataDirFailure(dn2ArcVol1);
+ DataNodeTestUtils.injectDataDirFailure(dn3ArcVol1);
...
...
...
+ // wait for heartbeat
+ Thread.sleep(6000);
+ storageTypeStatsMap = cluster.getNamesystem().getBlockManager()
+ .getStorageTypeStats();
+ assertFalse("StorageTypeStatsMap should not contain DISK Storage type",
+ storageTypeStatsMap.containsKey(StorageType.DISK));
{code}
after injecting DISK failure on all the DN's , DISK storage will not be there
in {{storageTypeStatsMap}}, mean FAILED storage is subtracted.
> "StorageTypeStats" Metric should not count failed storage.
> ----------------------------------------------------------
>
> Key: HDFS-9034
> URL: https://issues.apache.org/jira/browse/HDFS-9034
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Reporter: Archana T
> Assignee: Surendra Singh Lilhore
> Attachments: HDFS-9034.01.patch, HDFS-9034.02.patch,
> HDFS-9034.03.patch, HDFS-9034.04.patch, dfsStorage_NN_UI2.png
>
>
> When we remove one storage type from all the DNs, still NN UI shows entry of
> those storage type --
> Ex:for ARCHIVE
> Steps--
> 1. ARCHIVE Storage type was added for all DNs
> 2. Stop DNs
> 3. Removed ARCHIVE Storages from all DNs
> 4. Restarted DNs
> NN UI shows below --
> DFS Storage Types
> Storage Type Configured Capacity Capacity Used Capacity Remaining
> ARCHIVE 57.18 GB 64 KB (0%) 39.82 GB (69.64%) 64 KB
> 1
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)