# ignite-157-1

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

Branch: refs/heads/ignite-757
Commit: 0f33ab0e9c19e964a470de5444df7b59d3162e58
Parents: 5443383
Author: sboikov <semen.boi...@inria.fr>
Authored: Sun Apr 26 20:35:10 2015 +0300
Committer: sboikov <semen.boi...@inria.fr>
Committed: Sun Apr 26 20:35:10 2015 +0300

----------------------------------------------------------------------
 .../processors/cache/distributed/dht/GridDhtTxRemote.java     | 7 +++++++
 .../processors/cache/transactions/IgniteTxHandler.java        | 2 ++
 .../processors/cache/transactions/IgniteTxManager.java        | 4 ++--
 3 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0f33ab0e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
index 2673ed5..30464a5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
@@ -178,6 +178,13 @@ public class GridDhtTxRemote extends 
GridDistributedTxRemoteAdapter {
         topologyVersion(topVer);
     }
 
+    /**
+     * @param txNodes Transaction nodes.
+     */
+    public void transactionNodes(Map<UUID, Collection<UUID>> txNodes) {
+        this.txNodes = txNodes;
+    }
+
     /** {@inheritDoc} */
     @Override public boolean dht() {
         return true;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0f33ab0e/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 b2abe49..6b45fee 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
@@ -1035,6 +1035,8 @@ public class IgniteTxHandler {
                     return null;
                 }
             }
+            else
+                tx.transactionNodes(req.transactionNodes());
 
             if (!tx.isSystemInvalidate() && !F.isEmpty(req.writes())) {
                 int idx = 0;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0f33ab0e/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 f4c138c..c494602 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
@@ -2062,7 +2062,7 @@ public class IgniteTxManager extends 
GridCacheSharedManagerAdapter {
                     else {
                         // Check prepare only if originating node ID failed. 
Otherwise parent node will finish this tx.
                         if (tx.originatingNodeId().equals(evtNodeId)) {
-                            if (tx.optimistic() && tx.state() == PREPARED)
+                            if (tx.state() == PREPARED)
                                 commitIfPrepared(tx);
                             else {
                                 IgniteInternalFuture<IgniteInternalTx> prepFut 
= tx.currentPrepareFuture();
@@ -2070,7 +2070,7 @@ public class IgniteTxManager extends 
GridCacheSharedManagerAdapter {
                                 if (prepFut != null) {
                                     prepFut.listen(new 
CI1<IgniteInternalFuture<IgniteInternalTx>>() {
                                         @Override public void 
apply(IgniteInternalFuture<IgniteInternalTx> fut) {
-                                            if (tx.optimistic() && tx.state() 
== PREPARED)
+                                            if (tx.state() == PREPARED)
                                                 commitIfPrepared(tx);
                                             else if (tx.setRollbackOnly())
                                                 tx.rollbackAsync();

Reply via email to