apache/hadoop · error · IOException
Pipeline recovery for {} is interrupted.
Error message
Pipeline recovery for {} is interrupted. What it means
Error "Pipeline recovery for {} is interrupted." thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java:3678
//set visible length
b.setNumBytes(visible);
if (targets.length > 0) {
if (LOG.isDebugEnabled()) {
final String xferTargetsString =
StringUtils.join(" ", Arrays.asList(targets));
LOG.debug("Transferring a replica to {}", xferTargetsString);
}
final DataTransfer dataTransferTask = new DataTransfer(targets,
targetStorageTypes, targetStorageIds, b, stage, client);
@SuppressWarnings("unchecked")
Future<Void> f = (Future<Void>) this.xferService.submit(dataTransferTask);
try {
f.get();
} catch (InterruptedException | ExecutionException e) {
throw new IOException("Pipeline recovery for " + b + " is interrupted.",
e);
}
}
}
/**
* Finalize a pending upgrade in response to DNA_FINALIZE.
* @param blockPoolId the block pool to finalize
*/
void finalizeUpgradeForPool(String blockPoolId) throws IOException {
storage.finalizeUpgrade(blockPoolId);
}
static InetSocketAddress getStreamingAddr(Configuration conf) {
return NetUtils.createSocketAddr(
conf.getTrimmed(DFS_DATANODE_ADDRESS_KEY, DFS_DATANODE_ADDRESS_DEFAULT));
}
View on GitHub (pinned to 2add963021)
Solutions
- Treat as benign if caused by DataNode shutdown or job cancellation; the write will be retried by the client with a new pipeline.
- If frequent, investigate what interrupts recovery threads (timeouts, premature shutdown) and review pipeline recovery timeouts.
When it happens
Trigger: The thread performing pipeline recovery for a block is interrupted, typically during shutdown or when the client aborts the write.
Common situations: Pipeline recovery was interrupted, usually by DataNode shutdown or thread interruption. The client will retry; no action needed unless persistent.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/d76c95d22b4ac84c.
Report an issue: GitHub.