[ 
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]

Reply via email to