throw new IOException(msg);
}
ongoingRecovery.put(block, block);
}
try {
BlockRecoveryCoordinator brc = new BlockRecoveryCoordinator(LOG,
getConf(), socketTimeout, this, namespaceManager.get(namespaceId),
getDNRegistrationForNS(namespaceId));
return brc.recoverBlock(namespaceId, block, keepLength, datanodeids, closeFile,
deadline);
} finally {
synchronized (ongoingRecovery) {
ongoingRecovery.remove(block);
}