/** * @param nodeId Node ID. * @param ackMsg Write acknowledgement message. */ private void processAckMessage(UUID nodeId, GridGgfsAckMessage ackMsg) { try { ackMsg.finishUnmarshal(ggfsCtx.kernalContext().config().getMarshaller(), null); } catch (GridException e) { U.error(log, "Failed to unmarshal message (will ignore): " + ackMsg, e); return; } GridUuid fileId = ackMsg.fileId(); WriteCompletionFuture fut = pendingWrites.get(fileId); if (fut != null) { if (ackMsg.error() != null) fut.onError(nodeId, ackMsg.error()); else fut.onWriteAck(nodeId, ackMsg.id()); } else { if (log.isDebugEnabled()) log.debug("Received write acknowledgement for non-existent write future (most likely future was " + "failed) [nodeId=" + nodeId + ", fileId=" + fileId + ']'); } }
/** * @param nodeId Node ID. * @param ackMsg Write acknowledgement message. */ private void processAckMessage(UUID nodeId, GridGgfsAckMessage ackMsg) { try { ackMsg.finishUnmarshal(ggfsCtx.kernalContext().config().getMarshaller(), null); } catch (GridException e) { U.error(log, "Failed to unmarshal message (will ignore): " + ackMsg, e); return; } GridUuid fileId = ackMsg.fileId(); WriteCompletionFuture fut = pendingWrites.get(fileId); if (fut != null) { if (ackMsg.error() != null) fut.onError(nodeId, ackMsg.error()); else fut.onWriteAck(nodeId, ackMsg.id()); } else { if (log.isDebugEnabled()) log.debug("Received write acknowledgement for non-existent write future (most likely future was " + "failed) [nodeId=" + nodeId + ", fileId=" + fileId + ']'); } }