/** * @param nodeId Left node ID * @return {@code True} if node was in the list. */ @Override public synchronized boolean onNodeLeft(UUID nodeId) { for (IgniteInternalFuture<?> fut : futures()) { MiniFuture f = (MiniFuture)fut; if (f.node.id().equals(nodeId)) { if (log.isDebugEnabled()) log.debug("Found mini-future for left node [nodeId=" + nodeId + ", mini=" + f + ", fut=" + this + ']'); return f.onResult(null, newTopologyException(nodeId)); } } if (log.isDebugEnabled()) log.debug("Future does not have mapping for left node (ignoring) [nodeId=" + nodeId + ", fut=" + this + ']'); return false; }
mini.onResult(null, e); else onDone(e);
/** * @param nodeId Left node ID * @return {@code True} if node was in the list. */ @Override public synchronized boolean onNodeLeft(UUID nodeId) { for (IgniteInternalFuture<?> fut : futures()) { MiniFuture f = (MiniFuture)fut; if (f.node.id().equals(nodeId)) { if (log.isDebugEnabled()) log.debug("Found mini-future for left node [nodeId=" + nodeId + ", mini=" + f + ", fut=" + this + ']'); return f.onResult(null, newTopologyException(nodeId)); } } if (log.isDebugEnabled()) log.debug("Future does not have mapping for left node (ignoring) [nodeId=" + nodeId + ", fut=" + this + ']'); return false; }
mini.onResult(null, e); else onDone(e);
@Override public void apply(IgniteInternalFuture<Long> fut) { assert fut.error() != null || fut.result() != null : fut; try { clearLocalFuture((GridDhtTxQueryEnlistFuture)fut); GridNearTxQueryEnlistResponse res = fut.error() == null ? createResponse(fut) : null; localMini.onResult(res, fut.error()); } catch (IgniteCheckedException e) { localMini.onResult(null, e); } finally { CU.unwindEvicts(cctx); } } });
@Override public void apply(IgniteInternalFuture<?> f) { try { cctx.io().send(nodeId, req, cctx.ioPolicy()); } catch (IgniteCheckedException e) { fut.onResult(null, e); } } });
/** * @param nodeId Sender node id. * @param res Response. */ public void onResult(UUID nodeId, GridNearTxQueryEnlistResponse res) { MiniFuture mini = miniFuture(res.miniId()); if (mini != null) mini.onResult(res, null); }
@Override public void apply(IgniteInternalFuture<Long> fut) { assert fut.error() != null || fut.result() != null : fut; try { clearLocalFuture((GridDhtTxQueryEnlistFuture)fut); GridNearTxQueryEnlistResponse res = fut.error() == null ? createResponse(fut) : null; localMini.onResult(res, fut.error()); } catch (IgniteCheckedException e) { localMini.onResult(null, e); } finally { CU.unwindEvicts(cctx); } } });
/** * @param nodeId Sender node id. * @param res Response. */ public void onResult(UUID nodeId, GridNearTxQueryEnlistResponse res) { MiniFuture mini = miniFuture(res.miniId()); if (mini != null) mini.onResult(res, null); }
@Override public void apply(IgniteInternalFuture<?> f) { try { cctx.io().send(nodeId, req, cctx.ioPolicy()); } catch (IgniteCheckedException e) { fut.onResult(null, e); } } });