/** * @param nearNode Sender node. * @param req Request. */ private void processNearTxPrepareRequest0(ClusterNode nearNode, GridNearTxPrepareRequest req) { IgniteInternalFuture<GridNearTxPrepareResponse> fut; if (req.firstClientRequest() && req.allowWaitTopologyFuture()) { for (;;) { if (waitForExchangeFuture(nearNode, req)) return; fut = prepareNearTx(nearNode, req); if (fut != null) break; } } else fut = prepareNearTx(nearNode, req); assert req.txState() != null || fut == null || fut.error() != null || (ctx.tm().tx(req.version()) == null && ctx.tm().nearTx(req.version()) == null); }
if (req.allowWaitTopologyFuture()) { GridDhtTopologyFuture topFut = top.topologyVersionFuture(); if (!req.allowWaitTopologyFuture() && !topFut.isDone()) { retry = true;
/** * @param nearNode Sender node. * @param req Request. */ private void processNearTxPrepareRequest0(ClusterNode nearNode, GridNearTxPrepareRequest req) { IgniteInternalFuture<GridNearTxPrepareResponse> fut; if (req.firstClientRequest() && req.allowWaitTopologyFuture()) { for (;;) { if (waitForExchangeFuture(nearNode, req)) return; fut = prepareNearTx(nearNode, req); if (fut != null) break; } } else fut = prepareNearTx(nearNode, req); assert req.txState() != null || fut == null || fut.error() != null || (ctx.tm().tx(req.version()) == null && ctx.tm().nearTx(req.version()) == null); }
if (req.allowWaitTopologyFuture()) { GridDhtTopologyFuture topFut = top.topologyVersionFuture(); if (!req.allowWaitTopologyFuture() && !topFut.isDone()) { retry = true;