[
https://issues.apache.org/jira/browse/HDFS-15174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17041619#comment-17041619
]
Lisheng Sun commented on HDFS-15174:
------------------------------------
XiaoMi HDFS uses the replica size in memory by replicaInfo.getBytesOnDisk().
so this reduce io operations and disk pressure.
> Optimize ReplicaCachingGetSpaceUsed by reducing unnecessary io operations
> -------------------------------------------------------------------------
>
> Key: HDFS-15174
> URL: https://issues.apache.org/jira/browse/HDFS-15174
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Lisheng Sun
> Assignee: Lisheng Sun
> Priority: Major
> Attachments: HDFS-15174-001.patch
>
>
> Calculating the size of each block and the size of the meta file requires io
> operation In ReplicaCachingGetSpaceUsed#refresh(). Pressure on disk
> performance when there are many block. HDFS-14313 is intended to reduce io
> operation. So get block size by ReplicaInfo and meta size by
> DataChecksum#getChecksumSize().
> {code:java}
> @Override
> protected void refresh() {
> if (CollectionUtils.isNotEmpty(replicaInfos)) {
> for (ReplicaInfo replicaInfo : replicaInfos) {
> if (Objects.equals(replicaInfo.getVolume().getStorageID(),
> volume.getStorageID())) {
> dfsUsed += replicaInfo.getBlockDataLength();
> dfsUsed += replicaInfo.getMetadataLength();
> count++;
> }
> }
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]