private void handleScanFailure(Block block) { LOG.info("Reporting bad block " + block + " to namenode."); try { DatanodeInfo[] dnArr = { new DatanodeInfo(datanode.getDNRegistrationForNS(namespaceId)) }; LocatedBlock[] blocks = { new LocatedBlock(block, dnArr) }; datanode.reportBadBlocks(namespaceId,blocks); } catch (IOException e){ /* One common reason is that NameNode could be in safe mode. * Should we keep on retrying in that case? */ LOG.warn("Failed to report bad block " + block + " to namenode : " + " Exception : " + StringUtils.stringifyException(e)); } }
DatanodeRegistration dnRegistration = getDNRegistrationForNS(srcNamespaceId); int localPort = dnRegistration.getPort(); String localMachine = dnRegistration.getHost();
receiver.inAddr, receiver.myAddr, block.getNumBytes(), "HDFS_WRITE", receiver.clientName, offset, datanode.getDNRegistrationForNS(namespaceId).getStorageID(), block, endTime-startTime)); } else { LOG.info("Received block " + block +
private void transferBlock(int namespaceId, Block block, DatanodeInfo xferTargets[]) throws IOException { DatanodeProtocol nn = getNSNamenode(namespaceId); DatanodeRegistration nsReg = getDNRegistrationForNS(namespaceId);
nn.errorReport(getDNRegistrationForNS(namespaceId), dp_error, errMsgr); } catch(IOException ignored) {
? String.format(DN_CLIENTTRACE_FORMAT, localAddress, remoteAddress, "%d", "HDFS_READ", clientName, "%d", datanode.getDNRegistrationForNS(namespaceId).getStorageID(), block, "%d") : datanode.getDNRegistrationForNS(namespaceId) + " Served block " + block + " to " + s.getInetAddress(); updateCurrentThreadName("sending block " + block);
try { dataNode.getNSNamenode(nsInfo.getNamespaceID()).errorReport( dataNode.getDNRegistrationForNS(nsInfo.getNamespaceID()), DatanodeProtocol.NOTIFY, errorMsg); } catch(SocketTimeoutException e) { // namenode is busy
try { InterDatanodeProtocol datanode; if (getDNRegistrationForNS(namespaceId).equals(id)) { LOG.info("Skipping IDNPP creation for local id " + id + " when recovering " + block); } else { LOG.info("Creating IDNPP for non-local id " + id + " (dnReg=" + getDNRegistrationForNS(namespaceId) + ") when recovering " + block); datanode = DataNode.createInterDataNodeProtocolProxy(
DatanodeInfo srcNode = new DatanodeInfo(getDNRegistrationForNS(srcNamespaceId));