public short stats(RpcRequestMessage.PingNameNodeReq request, RpcResponseMessage.PingNameNodeRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_PING_NAMENODE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH; } LOG.info("totalOps " + totalOps.get()); LOG.info("errorOps " + errorOps.get()); LOG.info("createOps " + createOps.get()); LOG.info("lookupOps " + lookupOps.get()); LOG.info("setOps " + setOps.get()); LOG.info("removeOps " + removeOps.get()); LOG.info("renameOps " + renameOps.get()); LOG.info("getOps " + getOps.get()); LOG.info("locationOps " + locationOps.get()); return RpcErrors.ERR_OK; }
@Override public short dump(RpcRequestMessage.DumpNameNodeReq request, RpcResponseMessage.VoidRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_DUMP_NAMENODE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH; } System.out.println("#fd\t\tfilecomp\t\tcapacity\t\tisdir\t\t\tdiroffset"); fileTree.dump(); System.out.println("#fd\t\tfilecomp\t\tcapacity\t\tisdir\t\t\tdiroffset"); dumpFastMap(); return RpcErrors.ERR_OK; }
@Override public short ping(RpcRequestMessage.PingNameNodeReq request, RpcResponseMessage.PingNameNodeRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_PING_NAMENODE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH; } response.setData(request.getOp()+1); return RpcErrors.ERR_OK; }
@Override public short getDataNode(RpcRequestMessage.GetDataNodeReq request, RpcResponseMessage.GetDataNodeRes response, RpcNameNodeState errorState) throws Exception { //check protocol if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_GET_DATANODE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH; } //get params DataNodeInfo dnInfo = request.getInfo(); //rpc DataNodeBlocks dnInfoNn = blockStore.getDataNode(dnInfo); if (dnInfoNn == null){ return RpcErrors.ERR_DATANODE_NOT_REGISTERED; } dnInfoNn.touch(); response.setServiceId(serviceId); response.setFreeBlockCount(dnInfoNn.getBlockCount()); return RpcErrors.ERR_OK; }
@Override public short setFile(RpcRequestMessage.SetFileReq request, RpcResponseMessage.VoidRes response, RpcNameNodeState errorState) throws Exception { //check protocol if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_SET_FILE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH; } //get params FileInfo fileInfo = request.getFileInfo(); boolean close = request.isClose(); //rpc AbstractNode storedFile = fileTable.get(fileInfo.getFd()); if (storedFile == null){ return RpcErrors.ERR_FILE_NOT_OPEN; } if (storedFile.getToken() > 0 && storedFile.getToken() == fileInfo.getToken()){ storedFile.setCapacity(fileInfo.getCapacity()); } if (close){ storedFile.resetToken(); } if (CrailConstants.DEBUG){ LOG.info("setFile: " + fileInfo.toString() + ", close " + close); } return RpcErrors.ERR_OK; }
@Override public short setBlock(RpcRequestMessage.SetBlockReq request, RpcResponseMessage.VoidRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_SET_BLOCK, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH;
@Override public short getLocation(RpcRequestMessage.GetLocationReq request, RpcResponseMessage.GetLocationRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_GET_LOCATION, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH;
@Override public short getFile(RpcRequestMessage.GetFileReq request, RpcResponseMessage.GetFileRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_GET_FILE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH;
@Override public short removeFile(RpcRequestMessage.RemoveFileReq request, RpcResponseMessage.DeleteFileRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_REMOVE_FILE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH;
@Override public short getBlock(RpcRequestMessage.GetBlockReq request, RpcResponseMessage.GetBlockRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_GET_BLOCK, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH;
@Override public short createFile(RpcRequestMessage.CreateFileReq request, RpcResponseMessage.CreateFileRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_CREATE_FILE, request, response)) { return RpcErrors.ERR_PROTOCOL_MISMATCH;
@Override public short renameFile(RpcRequestMessage.RenameFileReq request, RpcResponseMessage.RenameRes response, RpcNameNodeState errorState) throws Exception { if (!RpcProtocol.verifyProtocol(RpcProtocol.CMD_RENAME_FILE, request, response)){ return RpcErrors.ERR_PROTOCOL_MISMATCH;