//check generation stamps
for(DatanodeID id : datanodeids) {
try {
InterDatanodeProtocol datanode = dnRegistration.equals(id)?
this: DataNode.createInterDataNodeProtocolProxy(id, getConf());
BlockMetaDataInfo info = datanode.getBlockMetaDataInfo(block);
if (info != null && info.getGenerationStamp() >= block.getGenerationStamp()) {
if (keepLength) {
if (info.getNumBytes() == block.getNumBytes()) {
syncList.add(new BlockRecord(id, datanode, new Block(info)));
}
}
else {
syncList.add(new BlockRecord(id, datanode, new Block(info)));
if (info.getNumBytes() < minlength) {
minlength = info.getNumBytes();
}
}
}
} catch (IOException e) {
++errorCount;