You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/09/22 11:19:57 UTC
[26/26] ignite git commit: Merge remote-tracking branch
'remotes/origin/master' into ignite-3478
Merge remote-tracking branch 'remotes/origin/master' into ignite-3478
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxFinishFuture.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0c4325a3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0c4325a3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0c4325a3
Branch: refs/heads/ignite-3478
Commit: 0c4325a3e2f49c44971a6dd6b14d73a15f26a84f
Parents: 3ad260d
Author: sboikov <sb...@gridgain.com>
Authored: Fri Sep 22 14:19:17 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Sep 22 14:19:17 2017 +0300
----------------------------------------------------------------------
.../near/GridNearTxFastFinishFuture.java | 6 ++----
.../near/GridNearTxFinishAndAckFuture.java | 11 +++++++---
.../near/GridNearTxFinishFuture.java | 11 ++++------
.../cache/distributed/near/GridNearTxLocal.java | 22 ++++++++++----------
.../distributed/near/NearTxFinishFuture.java | 3 ++-
5 files changed, 27 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/0c4325a3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFastFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFastFinishFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFastFinishFuture.java
index 7222697..de30090 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFastFinishFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFastFinishFuture.java
@@ -51,10 +51,8 @@ public class GridNearTxFastFinishFuture extends GridFutureAdapter<IgniteInternal
return commit;
}
- /**
- *
- */
- public void finish() {
+ /** {@inheritDoc} */
+ public void finish(boolean commit, boolean clearThreadMap) {
try {
if (commit) {
tx.state(PREPARING);
http://git-wip-us.apache.org/repos/asf/ignite/blob/0c4325a3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
index b044e6f..8474ab7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
@@ -40,9 +40,14 @@ public class GridNearTxFinishAndAckFuture extends GridFutureAdapter<IgniteIntern
}
/** {@inheritDoc} */
- public void finish(boolean commit) {
+ @Override public boolean commit() {
+ return finishFut.commit();
+ }
+
+ /** {@inheritDoc} */
+ public void finish(boolean commit, boolean clearThreadMap) {
if (commit) {
- finishFut.finish(true);
+ finishFut.finish(true, clearThreadMap);
finishFut.listen(new IgniteInClosure<GridNearTxFinishFuture>() {
@Override public void apply(final GridNearTxFinishFuture fut) {
@@ -87,7 +92,7 @@ public class GridNearTxFinishAndAckFuture extends GridFutureAdapter<IgniteIntern
});
}
else {
- finishFut.finish(false);
+ finishFut.finish(false, clearThreadMap);
finishFut.listen(new IgniteInClosure<IgniteInternalFuture>() {
@Override public void apply(IgniteInternalFuture fut) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/0c4325a3/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 92f6b86..5f18e9b 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
@@ -402,15 +402,12 @@ public final class GridNearTxFinishFuture<K, V> extends GridCacheCompoundIdentit
fut.getClass() == CheckRemoteTxMiniFuture.class;
}
- /**
- * Initializes future.
- *
- * @param commit Commit flag.
- * @param clearThreadMap If {@code true} removes {@link GridNearTxLocal} from thread map.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
/** {@inheritDoc} */
+ @SuppressWarnings("ForLoopReplaceableByForEach")
public void finish(boolean commit, boolean clearThreadMap) {
+ if (!cctx.mvcc().addFuture(this, futureId()))
+ return;
+
if (tx.onNeedCheckBackup()) {
assert tx.onePhaseCommit();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0c4325a3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
index 91e1c07..188200e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -3199,6 +3199,12 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou
commitNearTxLocalAsync().get();
}
+ private NearTxFinishFuture commitFuture() {
+ GridNearTxFinishFuture fut = new GridNearTxFinishFuture<>(cctx, this, true);
+
+ return txState.mvccEnabled(cctx) ? new GridNearTxFinishAndAckFuture(fut) : fut;
+ }
+
/**
* @return Finish future.
*/
@@ -3217,18 +3223,16 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou
if (!FINISH_FUT_UPD.compareAndSet(this, null, fut0 = new GridNearTxFastFinishFuture(this, true)))
return chainFinishFuture(finishFut, true);
- fut0.finish();
+ fut0.finish(true, true);
return fut0;
}
- final GridNearTxFinishFuture fut0;
+ final NearTxFinishFuture fut0;
- if (!FINISH_FUT_UPD.compareAndSet(this, null, fut0 = new GridNearTxFinishFuture<>(cctx, this, true)))
+ if (!FINISH_FUT_UPD.compareAndSet(this, null, fut0 = commitFuture()))
return chainFinishFuture(finishFut, true);
- cctx.mvcc().addFuture(fut0, fut0.futureId());
-
final IgniteInternalFuture<?> prepareFut = prepareNearTxLocal();
prepareFut.listen(new CI1<IgniteInternalFuture<?>>() {
@@ -3299,7 +3303,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou
if (!FINISH_FUT_UPD.compareAndSet(this, null, fut0 = new GridNearTxFastFinishFuture(this, false)))
return chainFinishFuture(finishFut, false);
- fut0.finish();
+ fut0.finish(false, onTimeout);
return fut0;
}
@@ -3376,12 +3380,8 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter implements GridTimeou
assert rollbackFut.isDone() : rollbackFut;
}
- else {
- if (!cctx.mvcc().addFuture(rollbackFut, rollbackFut.futureId()))
- return;
-
+ else
rollbackFut.finish(false, true);
- }
}
}
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/0c4325a3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxFinishFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxFinishFuture.java
index 9223c9f..19dca86 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxFinishFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxFinishFuture.java
@@ -31,6 +31,7 @@ public interface NearTxFinishFuture extends IgniteInternalFuture<IgniteInternalT
/**
* @param commit {@code True} to commit, otherwise rollback.
+ * @param clearThreadMap If {@code true} removes {@link GridNearTxLocal} from thread map.
*/
- public void finish(boolean commit);
+ public void finish(boolean commit, boolean clearThreadMap);
}