diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java index f4a900435e7e..eaca8ab2c528 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java @@ -163,6 +163,7 @@ import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil; import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils; import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus; +import org.apache.hadoop.ozone.om.helpers.QuotaUtil; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; import org.apache.hadoop.ozone.om.helpers.WithParentObjectId; import org.apache.hadoop.ozone.om.request.OMClientRequest; @@ -836,8 +837,12 @@ public PendingKeysDeletion getPendingDeletionKeys( if (filter == null || filter.apply(Table.newKeyValue(kv.getKey(), info))) { List deletedBlocks = info.getKeyLocationVersions().stream() .flatMap(versionLocations -> versionLocations.getLocationList().stream() - .map(b -> new DeletedBlock(new BlockID(b.getContainerID(), - b.getLocalID()), info.getDataSize(), info.getReplicatedSize()))).collect(Collectors.toList()); + .map(b -> new DeletedBlock( + new BlockID(b.getContainerID(), + b.getLocalID()), + b.getLength(), + QuotaUtil.getReplicatedSize(b.getLength(), info.getReplicationConfig()) + ))).collect(Collectors.toList()); String blockGroupName = kv.getKey() + "/" + reclaimableKeyCount++; BlockGroup keyBlocks = BlockGroup.newBuilder().setKeyName(blockGroupName) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java index e7826708b895..6e79ca25ac8a 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java @@ -113,6 +113,7 @@ import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; import org.apache.hadoop.ozone.om.helpers.OpenKeySession; import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils; +import org.apache.hadoop.ozone.om.helpers.QuotaUtil; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; import org.apache.hadoop.ozone.om.helpers.S3SecretValue; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; @@ -1830,7 +1831,11 @@ public List getBlocksForKeyDelete(String deletedKey) info.getKeyLocationVersions()) { List item = keyLocations.getLocationList().stream() .map(b -> new DeletedBlock( - new BlockID(b.getContainerID(), b.getLocalID()), info.getDataSize(), info.getReplicatedSize())) + new BlockID(b.getContainerID(), + b.getLocalID()), + b.getLength(), + QuotaUtil.getReplicatedSize(b.getLength(), + info.getReplicationConfig()))) .collect(Collectors.toList()); BlockGroup keyBlocks = BlockGroup.newBuilder() .setKeyName(deletedKey)