You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by yz...@apache.org on 2017/07/28 12:07:52 UTC
[40/50] [abbrv] ignite git commit: Minor (added more clear method
IgniteTxHandler.prepareNearTxLocal).
Minor (added more clear method IgniteTxHandler.prepareNearTxLocal).
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e9a0d694
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e9a0d694
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e9a0d694
Branch: refs/heads/ignite-5658
Commit: e9a0d694867467400e295fe71dba4244d8b54ecd
Parents: eb9d06d
Author: sboikov <sb...@gridgain.com>
Authored: Thu Jul 27 15:25:06 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Thu Jul 27 15:25:06 2017 +0300
----------------------------------------------------------------------
...arOptimisticSerializableTxPrepareFuture.java | 2 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 2 +-
.../GridNearPessimisticTxPrepareFuture.java | 2 +-
.../cache/transactions/IgniteTxHandler.java | 59 +++++++++++---------
4 files changed, 35 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e9a0d694/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
index 72ddc67..d7b47de 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
@@ -574,7 +574,7 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim
final MiniFuture fut,
final boolean nearEntries) {
IgniteInternalFuture<GridNearTxPrepareResponse> prepFut = nearEntries ?
- cctx.tm().txHandler().prepareNearTx(cctx.localNodeId(), req, true) :
+ cctx.tm().txHandler().prepareNearTxLocal(req) :
cctx.tm().txHandler().prepareColocatedTx(tx, req);
prepFut.listen(new CI1<IgniteInternalFuture<GridNearTxPrepareResponse>>() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/e9a0d694/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
index edddf7d..df0d28e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
@@ -564,7 +564,7 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa
assert !(m.hasColocatedCacheEntries() && m.hasNearCacheEntries()) : m;
IgniteInternalFuture<GridNearTxPrepareResponse> prepFut =
- m.hasNearCacheEntries() ? cctx.tm().txHandler().prepareNearTx(n.id(), req, true)
+ m.hasNearCacheEntries() ? cctx.tm().txHandler().prepareNearTxLocal(req)
: cctx.tm().txHandler().prepareColocatedTx(tx, req);
prepFut.listen(new CI1<IgniteInternalFuture<GridNearTxPrepareResponse>>() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/e9a0d694/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
index e934319..2bcdade 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
@@ -237,7 +237,7 @@ public class GridNearPessimisticTxPrepareFuture extends GridNearTxPrepareFutureA
add(fut);
IgniteInternalFuture<GridNearTxPrepareResponse> prepFut = nearEntries ?
- cctx.tm().txHandler().prepareNearTx(cctx.localNodeId(), req, true) :
+ cctx.tm().txHandler().prepareNearTxLocal(req) :
cctx.tm().txHandler().prepareColocatedTx(tx, req);
prepFut.listen(new CI1<IgniteInternalFuture<GridNearTxPrepareResponse>>() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/e9a0d694/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
index 34a9fc1..2ed8ed7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
@@ -118,7 +118,19 @@ public class IgniteTxHandler {
", node=" + nearNodeId + ']');
}
- IgniteInternalFuture<GridNearTxPrepareResponse> fut = prepareNearTx(nearNodeId, req, false);
+ ClusterNode nearNode = ctx.node(nearNodeId);
+
+ if (nearNode == null) {
+ if (txPrepareMsgLog.isDebugEnabled()) {
+ txPrepareMsgLog.debug("Received near prepare from node that left grid (will ignore) [" +
+ "txId=" + req.version() +
+ ", node=" + nearNodeId + ']');
+ }
+
+ return;
+ }
+
+ IgniteInternalFuture<GridNearTxPrepareResponse> 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);
@@ -278,32 +290,25 @@ public class IgniteTxHandler {
}
/**
- * @param nearNodeId Near node ID that initiated transaction.
- * @param req Near prepare request.
- * @param locReq Local request flag.
+ * @param req Request.
* @return Prepare future.
*/
- public IgniteInternalFuture<GridNearTxPrepareResponse> prepareNearTx(
- final UUID nearNodeId,
- final GridNearTxPrepareRequest req,
- boolean locReq
- ) {
+ public IgniteInternalFuture<GridNearTxPrepareResponse> prepareNearTxLocal(final GridNearTxPrepareRequest req) {
// Make sure not to provide Near entries to DHT cache.
- if (locReq)
- req.cloneEntries();
-
- ClusterNode nearNode = ctx.node(nearNodeId);
+ req.cloneEntries();
- if (nearNode == null) {
- if (txPrepareMsgLog.isDebugEnabled()) {
- txPrepareMsgLog.debug("Received near prepare from node that left grid (will ignore) [" +
- "txId=" + req.version() +
- ", node=" + nearNodeId + ']');
- }
-
- return null;
- }
+ return prepareNearTx(ctx.localNode(), req);
+ }
+ /**
+ * @param nearNode Node that initiated transaction.
+ * @param req Near prepare request.
+ * @return Prepare future.
+ */
+ private IgniteInternalFuture<GridNearTxPrepareResponse> prepareNearTx(
+ final ClusterNode nearNode,
+ final GridNearTxPrepareRequest req
+ ) {
IgniteTxEntry firstEntry;
try {
@@ -350,7 +355,7 @@ public class IgniteTxHandler {
if (txPrepareMsgLog.isDebugEnabled()) {
txPrepareMsgLog.debug("Topology version mismatch for near prepare, need remap transaction [" +
"txId=" + req.version() +
- ", node=" + nearNodeId +
+ ", node=" + nearNode.id() +
", reqTopVer=" + req.topologyVersion() +
", locTopVer=" + top.topologyVersion() +
", req=" + req + ']');
@@ -370,24 +375,24 @@ public class IgniteTxHandler {
req.deployInfo() != null);
try {
- ctx.io().send(nearNodeId, res, req.policy());
+ ctx.io().send(nearNode, res, req.policy());
if (txPrepareMsgLog.isDebugEnabled()) {
txPrepareMsgLog.debug("Sent remap response for near prepare [txId=" + req.version() +
- ", node=" + nearNodeId + ']');
+ ", node=" + nearNode.id() + ']');
}
}
catch (ClusterTopologyCheckedException ignored) {
if (txPrepareMsgLog.isDebugEnabled()) {
txPrepareMsgLog.debug("Failed to send remap response for near prepare, node failed [" +
"txId=" + req.version() +
- ", node=" + nearNodeId + ']');
+ ", node=" + nearNode.id() + ']');
}
}
catch (IgniteCheckedException e) {
U.error(txPrepareMsgLog, "Failed to send remap response for near prepare " +
"[txId=" + req.version() +
- ", node=" + nearNodeId +
+ ", node=" + nearNode.id() +
", req=" + req + ']', e);
}