# ignite-157 wait for 'preparing' transactions in 
'processCheckPreparedTxRequest'


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5443383c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5443383c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5443383c

Branch: refs/heads/ignite-757
Commit: 5443383c4354e0cfd82fa9d3f8e2a329ba31db21
Parents: 26d20e7
Author: sboikov <sboi...@gridgain.com>
Authored: Fri Apr 24 17:17:13 2015 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Fri Apr 24 17:17:13 2015 +0300

----------------------------------------------------------------------
 .../internal/processors/cache/transactions/IgniteTxManager.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5443383c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
index e4cf28b..f4c138c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
@@ -2070,7 +2070,9 @@ public class IgniteTxManager extends 
GridCacheSharedManagerAdapter {
                                 if (prepFut != null) {
                                     prepFut.listen(new 
CI1<IgniteInternalFuture<IgniteInternalTx>>() {
                                         @Override public void 
apply(IgniteInternalFuture<IgniteInternalTx> fut) {
-                                            if (tx.setRollbackOnly())
+                                            if (tx.optimistic() && tx.state() 
== PREPARED)
+                                                commitIfPrepared(tx);
+                                            else if (tx.setRollbackOnly())
                                                 tx.rollbackAsync();
                                         }
                                     });

Reply via email to