ctx.remoteTxInfo( nodeId, dhtVer, ctx.basicInfo( cctx.localNodeId(), "GridNearOptimisticTxPrepareFuture waiting for remote node response [" + KeyLockFuture keyFut = (KeyLockFuture)fut; ctx.basicInfo( cctx.localNodeId(), "GridNearOptimisticTxPrepareFuture waiting for local keys lock [" +
/** * @param nodeId Remote node ID. * @param msg Initial message. */ public void basicInfo(UUID nodeId, String msg) { closure(nodeId).add(msg, null); }
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext diagCtx) { if (!isDone()) { ClusterNode crd; Set<UUID> remaining; synchronized (mux) { crd = this.crd; remaining = new HashSet<>(this.remaining); } if (crd != null) { if (!crd.isLocal()) { diagCtx.exchangeInfo(crd.id(), initialVersion(), "Exchange future waiting for coordinator " + "response [crd=" + crd.id() + ", topVer=" + initialVersion() + ']'); } else if (!remaining.isEmpty()){ UUID nodeId = remaining.iterator().next(); diagCtx.exchangeInfo(nodeId, initialVersion(), "Exchange future on coordinator waiting for " + "server response [node=" + nodeId + ", topVer=" + initialVersion() + ']'); } } } }
IgniteDiagnosticPrepareContext ctx = new IgniteDiagnosticPrepareContext(node.getLocalNodeId()); ctx.basicInfo(dstNode.id(), "Test diagnostic"); ctx.send(node.context(), new IgniteInClosure<IgniteInternalFuture<String>>() { @Override public void apply(IgniteInternalFuture<String> diagFut) { try {
new IgniteDiagnosticPrepareContext(cctx.localNodeId()) : null; diagCtx.send(cctx.kernalContext(), null);
new IgniteDiagnosticPrepareContext(cctx.localNodeId()) : null; if (diagCtx != null && !diagCtx.empty()) { try { cctx.kernalContext().closure().runLocal(new Runnable() {
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext ctx) { if (!isDone()) { UUID nodeId; AffinityTopologyVersion topVer; synchronized (this) { nodeId = node != null ? node.id() : null; topVer = this.topVer; } if (nodeId != null) ctx.basicInfo(nodeId, "GridPartitionedSingleGetFuture waiting for " + "response [node=" + nodeId + ", key=" + key + ", futId=" + futId + ", topVer=" + topVer + ']'); } }
/** * @param ctx Grid context. * @param lsnr Optional listener (used in test). */ public void send(GridKernalContext ctx, @Nullable IgniteInClosure<IgniteInternalFuture<String>> lsnr) { for (Map.Entry<UUID, CompoundInfoClosure> entry : cls.entrySet()) { UUID rmtNodeId = entry.getKey(); CompoundInfoClosure c = entry.getValue(); IgniteInternalFuture<String> fut = ctx.cluster().requestDiagnosticInfo(rmtNodeId, c, c.message()); if (lsnr != null) fut.listen(lsnr); listenAndLog(ctx.cluster().diagnosticLog(), fut); } }
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext req) { if (!isDone()) { for (IgniteInternalFuture fut : futures()) { if (!fut.isDone() && fut instanceof MiniFuture) { MiniFuture f = (MiniFuture)fut; if (!f.node().isLocal()) { GridCacheVersion dhtVer = tx.xidVersion(); GridCacheVersion nearVer = tx.nearXidVersion(); req.remoteTxInfo(f.nodeId, dhtVer, nearVer, "GridDhtTxPrepareFuture " + "waiting for response [node=" + f.nodeId + ", topVer=" + tx.topologyVersion() + ", dhtVer=" + dhtVer + ", nearVer=" + nearVer + ", futId=" + futId + ", miniId=" + f.futId + ", tx=" + tx + ']'); return; } } } } }
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext ctx) { if (!isDone()) { for (IgniteInternalFuture fut : futures()) { if (!fut.isDone() && isMini(fut)) { MiniFuture m = (MiniFuture)fut; AffinityTopologyVersion topVer = null; UUID rmtNodeId = null; synchronized (m) { if (!m.rcvRes && !m.node.isLocal()) { rmtNodeId = m.node.id(); topVer = this.topVer; } } if (rmtNodeId != null) { ctx.txKeyInfo(rmtNodeId, cctx.cacheId(), m.keys, "GridDhtColocatedLockFuture waiting for response [node=" + rmtNodeId + ", cache=" + cctx.name() + ", miniId=" + m.futId + ", topVer=" + topVer + ", keys=" + m.keys + ']'); return; } } } } }
new IgniteDiagnosticPrepareContext(cctx.localNodeId()) : null; diagCtx.send(cctx.kernalContext(), null);
new IgniteDiagnosticPrepareContext(cctx.localNodeId()) : null; if (diagCtx != null && !diagCtx.empty()) { try { cctx.kernalContext().closure().runLocal(new Runnable() {
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext ctx) { if (!isDone()) { UUID nodeId; AffinityTopologyVersion topVer; synchronized (this) { nodeId = node != null ? node.id() : null; topVer = this.topVer; } if (nodeId != null) ctx.basicInfo(nodeId, "GridPartitionedSingleGetFuture waiting for " + "response [node=" + nodeId + ", key=" + key + ", futId=" + futId + ", topVer=" + topVer + ']'); } }
/** * @param ctx Grid context. * @param lsnr Optional listener (used in test). */ public void send(GridKernalContext ctx, @Nullable IgniteInClosure<IgniteInternalFuture<String>> lsnr) { for (Map.Entry<UUID, CompoundInfoClosure> entry : cls.entrySet()) { UUID rmtNodeId = entry.getKey(); CompoundInfoClosure c = entry.getValue(); IgniteInternalFuture<String> fut = ctx.cluster().requestDiagnosticInfo(rmtNodeId, c, c.message()); if (lsnr != null) fut.listen(lsnr); listenAndLog(ctx.cluster().diagnosticLog(), fut); } }
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext req) { if (!isDone()) { for (IgniteInternalFuture fut : futures()) { if (!fut.isDone() && fut instanceof MiniFuture) { MiniFuture f = (MiniFuture)fut; if (!f.node().isLocal()) { GridCacheVersion dhtVer = tx.xidVersion(); GridCacheVersion nearVer = tx.nearXidVersion(); req.remoteTxInfo(f.nodeId, dhtVer, nearVer, "GridDhtTxPrepareFuture " + "waiting for response [node=" + f.nodeId + ", topVer=" + tx.topologyVersion() + ", dhtVer=" + dhtVer + ", nearVer=" + nearVer + ", futId=" + futId + ", miniId=" + f.futId + ", tx=" + tx + ']'); return; } } } } }
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext ctx) { if (!isDone()) { for (IgniteInternalFuture fut : futures()) { if (!fut.isDone() && isMini(fut)) { MiniFuture m = (MiniFuture)fut; AffinityTopologyVersion topVer = null; UUID rmtNodeId = null; synchronized (m) { if (!m.rcvRes && !m.node.isLocal()) { rmtNodeId = m.node.id(); topVer = this.topVer; } } if (rmtNodeId != null) { ctx.txKeyInfo(rmtNodeId, cctx.cacheId(), m.keys, "GridDhtColocatedLockFuture waiting for response [node=" + rmtNodeId + ", cache=" + cctx.name() + ", miniId=" + m.futId + ", topVer=" + topVer + ", keys=" + m.keys + ']'); return; } } } } }
GridCacheVersion nearVer = tx.nearXidVersion(); ctx.remoteTxInfo(f.node().id(), dhtVer, nearVer, "GridDhtTxFinishFuture " + "waiting for response [node=" + f.node().id() + ", topVer=" + tx.topologyVersion() + ctx.basicInfo(f.coordinatorNodeId(), "GridDhtTxFinishFuture " + "waiting for mvcc coordinator reply [mvccCrdNode=" + f.coordinatorNodeId() + ", loc=" + f.coordinatorNodeId().equals(cctx.localNodeId()) + ']');
/** * @param nodeId Remote node ID. * @param dhtVer Tx dht version. * @param nearVer Tx near version. * @param msg Initial message. */ public void remoteTxInfo(UUID nodeId, GridCacheVersion dhtVer, GridCacheVersion nearVer, String msg) { closure(nodeId).add(msg, new TxInfoClosure(dhtVer, nearVer)); }
/** {@inheritDoc} */ @Override public void addDiagnosticRequest(IgniteDiagnosticPrepareContext diagCtx) { if (!isDone()) { ClusterNode crd; Set<UUID> remaining; synchronized (mux) { crd = this.crd; remaining = new HashSet<>(this.remaining); } if (crd != null) { if (!crd.isLocal()) { diagCtx.exchangeInfo(crd.id(), initialVersion(), "Exchange future waiting for coordinator " + "response [crd=" + crd.id() + ", topVer=" + initialVersion() + ']'); } else if (!remaining.isEmpty()){ UUID nodeId = remaining.iterator().next(); diagCtx.exchangeInfo(nodeId, initialVersion(), "Exchange future on coordinator waiting for " + "server response [node=" + nodeId + ", topVer=" + initialVersion() + ']'); } } } }
ctx.remoteTxInfo( nodeId, dhtVer, ctx.basicInfo( cctx.localNodeId(), "GridNearOptimisticTxPrepareFuture waiting for remote node response [" + KeyLockFuture keyFut = (KeyLockFuture)fut; ctx.basicInfo( cctx.localNodeId(), "GridNearOptimisticTxPrepareFuture waiting for local keys lock [" +