Lisheng Sun created HDFS-15174:
----------------------------------

             Summary: 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


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: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to