/** * @param e Node left exception. */ void onResult(ClusterTopologyCheckedException e) { if (isDone()) return; synchronized (this) { if (!rcvRes) rcvRes = true; else return; } if (log.isDebugEnabled()) log.debug("Remote node left grid while sending or waiting for reply (will fail): " + this); if (tx != null) tx.removeMapping(node.id()); // Primary node left the grid, so fail the future. GridNearLockFuture.this.onDone(false, newTopologyException(e, node.id())); onDone(true); }
@Override public void apply(IgniteInternalFuture<?> fut) { try { fut.get(); remap(); } catch (IgniteCheckedException e) { onDone(e); } finally { cctx.shared().txContextReset(); } } });
/** * */ private void remap() { undoLocks(false, false); mapOnTopology(true); onDone(true); }
/** * @param e Node left exception. */ void onResult(ClusterTopologyCheckedException e) { if (isDone()) return; synchronized (this) { if (!rcvRes) rcvRes = true; else return; } if (log.isDebugEnabled()) log.debug("Remote node left grid while sending or waiting for reply (will fail): " + this); if (tx != null) tx.removeMapping(node.id()); // Primary node left the grid, so fail the future. GridNearLockFuture.this.onDone(false, newTopologyException(e, node.id())); onDone(true); }
@Override public void apply(IgniteInternalFuture<?> fut) { try { fut.get(); remap(); } catch (IgniteCheckedException e) { onDone(e); } finally { cctx.shared().txContextReset(); } } });
/** * */ private void remap() { undoLocks(false, false); mapOnTopology(true); onDone(true); }