|
@@ -3707,6 +3707,7 @@ public class BlockManager {
|
|
|
private static class ReplicationWork {
|
|
|
private final Block block;
|
|
|
private final String srcPath;
|
|
|
+ private final long blockSize;
|
|
|
private final byte storagePolicyID;
|
|
|
private final DatanodeDescriptor srcNode;
|
|
|
private final int additionalReplRequired;
|
|
@@ -3724,6 +3725,7 @@ public class BlockManager {
|
|
|
int priority) {
|
|
|
this.block = block;
|
|
|
this.srcPath = bc.getName();
|
|
|
+ this.blockSize = block.getNumBytes();
|
|
|
this.storagePolicyID = bc.getStoragePolicyID();
|
|
|
this.srcNode = srcNode;
|
|
|
this.srcNode.incrementPendingReplicationWithoutTargets();
|
|
@@ -3740,7 +3742,7 @@ public class BlockManager {
|
|
|
try {
|
|
|
targets = blockplacement.chooseTarget(getSrcPath(),
|
|
|
additionalReplRequired, srcNode, liveReplicaStorages, false,
|
|
|
- excludedNodes, block.getNumBytes(),
|
|
|
+ excludedNodes, blockSize,
|
|
|
storagePolicySuite.getPolicy(getStoragePolicyID()));
|
|
|
} finally {
|
|
|
srcNode.decrementPendingReplicationWithoutTargets();
|