apache/hadoop · error · IOException
Transfer failed for all targets.
Error message
Transfer failed for all targets.
What it means
Error "Transfer failed for all targets." thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/erasurecode/StripedBlockReconstructor.java:118
getDatanode().getEcReconstuctReadThrottler().throttle(bytesToRead);
}
// step1: read from minimum source DNs required for reconstruction.
// The returned success list is the source DNs we do real read from
getStripedReader().readMinimumSources(toReconstructLen);
long readEnd = Time.monotonicNow();
// step2: decode to reconstruct targets
reconstructTargets(toReconstructLen);
long decodeEnd = Time.monotonicNow();
// step3: transfer data
long bytesToWrite = (long) toReconstructLen * stripedWriter.getTargets();
if (getDatanode().getEcReconstuctWriteThrottler() != null) {
getDatanode().getEcReconstuctWriteThrottler().throttle(bytesToWrite);
}
if (stripedWriter.transferData2Targets() == 0) {
String error = "Transfer failed for all targets.";
throw new IOException(error);
}
long writeEnd = Time.monotonicNow();
// Only the succeed reconstructions are recorded.
final DataNodeMetrics metrics = getDatanode().getMetrics();
metrics.incrECReconstructionReadTime(readEnd - start);
metrics.incrECReconstructionDecodingTime(decodeEnd - readEnd);
metrics.incrECReconstructionWriteTime(writeEnd - decodeEnd);
updatePositionInBlock(toReconstructLen);
clearBuffers();
}
}
private void reconstructTargets(int toReconstructLen) throws IOException {
ByteBuffer[] inputs = getStripedReader().getInputBuffers(toReconstructLen);
View on GitHub (pinned to 2add963021)
Solutions
- Check network connectivity and DataNode health for every striped-write target; restart or decommission unreachable DataNodes.
- Inspect target DataNode logs for disk or volume failures and repair the underlying storage.
- Retry the block reconstruction after the cluster recovers; if failures persist, verify enough DataNodes are live for the EC policy in use.
When it happens
Trigger: Erasure-coding striped block reconstruction when the transfer to every target DataNode fails, typically due to network faults or unavailable target nodes.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/90e69d0d8878d816.
Report an issue: GitHub.