Repository: ignite Updated Branches: refs/heads/ignite-gg-12306-1 35d771a26 -> 3b3a5994a
12306 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3b3a5994 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3b3a5994 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3b3a5994 Branch: refs/heads/ignite-gg-12306-1 Commit: 3b3a5994ac342b5b7c2193378f3d7e782533c5af Parents: 35d771a Author: sboikov <[email protected]> Authored: Fri Jul 7 12:04:55 2017 +0300 Committer: sboikov <[email protected]> Committed: Fri Jul 7 12:04:55 2017 +0300 ---------------------------------------------------------------------- .../distributed/dht/GridDhtTxFinishFuture.java | 3 +-- .../distributed/near/GridNearTxFinishFuture.java | 17 ++++++++--------- .../cache/transactions/IgniteTxLocalAdapter.java | 15 +++++++++------ 3 files changed, 18 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/3b3a5994/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java index 775757c..5311ddc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java @@ -227,8 +227,7 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCacheCompoundIdentity try { boolean nodeStop = err != null && X.hasCause(err, NodeStoppingException.class); - if (!nodeStop) - this.tx.tmFinish(err == null); + this.tx.tmFinish(err == null, nodeStop); } catch (IgniteCheckedException finishErr) { U.error(log, "Failed to finish tx: " + tx, e); http://git-wip-us.apache.org/repos/asf/ignite/blob/3b3a5994/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java index 48e86c6..c45eb7b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java @@ -323,18 +323,17 @@ public final class GridNearTxFinishFuture<K, V> extends GridCacheCompoundIdentit if (tx.onePhaseCommit()) { boolean commit = this.commit && err == null; - if (!nodeStop) { + if (!nodeStop) finishOnePhase(commit); - try { - tx.tmFinish(commit); - } - catch (IgniteCheckedException e) { - U.error(log, "Failed to finish tx: " + tx, e); + try { + tx.tmFinish(commit, nodeStop); + } + catch (IgniteCheckedException e) { + U.error(log, "Failed to finish tx: " + tx, e); - if (err == null) - err = e; - } + if (err == null) + err = e; } } http://git-wip-us.apache.org/repos/asf/ignite/blob/3b3a5994/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 49b67da..e7ebaae 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -898,17 +898,20 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig * Commits transaction to transaction manager. Used for one-phase commit transactions only. * * @param commit If {@code true} commits transaction, otherwise rollbacks. + * @param nodeStop If {@code true} tx is cancelled on node stop. * @throws IgniteCheckedException If failed. */ - public void tmFinish(boolean commit) throws IgniteCheckedException { + public void tmFinish(boolean commit, boolean nodeStop) throws IgniteCheckedException { assert onePhaseCommit(); if (DONE_FLAG_UPD.compareAndSet(this, 0, 1)) { - // Unlock all locks. - if (commit) - cctx.tm().commitTx(this); - else - cctx.tm().rollbackTx(this); + if (!nodeStop) { + // Unlock all locks. + if (commit) + cctx.tm().commitTx(this); + else + cctx.tm().rollbackTx(this); + } state(commit ? COMMITTED : ROLLED_BACK);
