IGNITE-264 - WIP

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

Branch: refs/heads/ignite-264
Commit: 4bf51e7704d207bf91e994925ca509d2b6ba537d
Parents: f286bb4
Author: Alexey Goncharuk <agoncha...@gridgain.com>
Authored: Tue Feb 24 18:09:27 2015 -0800
Committer: Alexey Goncharuk <agoncha...@gridgain.com>
Committed: Tue Feb 24 18:09:27 2015 -0800

----------------------------------------------------------------------
 .../distributed/dht/GridDhtTxPrepareFuture.java |  9 ++++--
 .../cache/transactions/IgniteTxHandler.java     |  4 +--
 .../cache/transactions/IgniteTxManager.java     | 34 +++-----------------
 3 files changed, 12 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4bf51e77/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index f6ae0fb..2b1d2f0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -789,9 +789,6 @@ public final class GridDhtTxPrepareFuture<K, V> extends 
GridCompoundIdentityFutu
             return;
 
         try {
-            // We are holding transaction-level locks for entries here, so we 
can get next write version.
-            tx.writeVersion(cctx.versions().next(tx.topologyVersion()));
-
             onEntriesLocked();
 
             {
@@ -810,6 +807,12 @@ public final class GridDhtTxPrepareFuture<K, V> extends 
GridCompoundIdentityFutu
                 }
             }
 
+            // We are holding transaction-level locks for entries here, so we 
can get next write version.
+            if (tx.onePhaseCommit())
+                tx.writeVersion(tx.nearXidVersion());
+            else
+                tx.writeVersion(cctx.versions().next(tx.topologyVersion()));
+
             if (isDone())
                 return;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4bf51e77/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 3680f0d..90af0b2 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
@@ -782,9 +782,9 @@ public class IgniteTxHandler<K, V> {
         if (tx == null) {
             if (req.commit())
                 // Must be some long time duplicate, but we add it anyway.
-                ctx.tm().addCommittedTx(req.version(), null);
+                ctx.tm().addCommittedTx(req.writeVersion(), null);
             else
-                ctx.tm().addRolledbackTx(req.version());
+                ctx.tm().addRolledbackTx(req.writeVersion());
 
             if (log.isDebugEnabled())
                 log.debug("Received finish request for non-existing 
transaction (added to completed set) " +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4bf51e77/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 f9c4c54..e347cce 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
@@ -335,7 +335,7 @@ public class IgniteTxManager<K, V> extends 
GridCacheSharedManagerAdapter<K, V> {
      *      {@code false} otherwise.
      */
     public boolean isCompleted(IgniteInternalTx<K, V> tx) {
-        return completedVers.containsKey(tx.xidVersion());
+        return completedVers.containsKey(tx.writeVersion());
     }
 
     /**
@@ -936,36 +936,10 @@ public class IgniteTxManager<K, V> extends 
GridCacheSharedManagerAdapter<K, V> {
     }
 
     /**
-     * Gets committed transactions starting from the given version 
(inclusive). // TODO: GG-4011: why inclusive?
-     *
-     * @param min Start (or minimum) version.
-     * @return Committed transactions starting from the given version 
(non-inclusive).
-     */
-    public Collection<GridCacheVersion> committedVersions(GridCacheVersion 
min) {
-        ConcurrentNavigableMap<GridCacheVersion, Boolean> tail
-            = completedVers.tailMap(min, true);
-
-        return F.isEmpty(tail) ? Collections.<GridCacheVersion>emptyList() : 
copyOf(tail, true);
-    }
-
-    /**
-     * Gets rolledback transactions starting from the given version 
(inclusive). // TODO: GG-4011: why inclusive?
-     *
-     * @param min Start (or minimum) version.
-     * @return Committed transactions starting from the given version 
(non-inclusive).
-     */
-    public Collection<GridCacheVersion> rolledbackVersions(GridCacheVersion 
min) {
-        ConcurrentNavigableMap<GridCacheVersion, Boolean> tail
-            = completedVers.tailMap(min, true);
-
-        return F.isEmpty(tail) ? Collections.<GridCacheVersion>emptyList() : 
copyOf(tail, false);
-    }
-
-    /**
      * @param tx Tx to remove.
      */
     public void removeCommittedTx(IgniteInternalTx<K, V> tx) {
-        completedVers.remove(tx.xidVersion(), true);
+        completedVers.remove(tx.writeVersion(), true);
     }
 
     /**
@@ -973,7 +947,7 @@ public class IgniteTxManager<K, V> extends 
GridCacheSharedManagerAdapter<K, V> {
      * @return If transaction was not already present in committed set.
      */
     public boolean addCommittedTx(IgniteInternalTx<K, V> tx) {
-        return addCommittedTx(tx.xidVersion(), tx.nearXidVersion());
+        return addCommittedTx(tx.writeVersion(), tx.nearXidVersion());
     }
 
     /**
@@ -1084,7 +1058,7 @@ public class IgniteTxManager<K, V> extends 
GridCacheSharedManagerAdapter<K, V> {
          * so we don't do it here.
          */
 
-        Boolean committed = completedVers.get(tx.xidVersion());
+        Boolean committed = completedVers.get(tx.writeVersion());
 
         // 1. Make sure that committed version has been recorded.
         if (!((committed != null && committed) || tx.writeSet().isEmpty() || 
tx.isSystemInvalidate())) {

Reply via email to