You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2015/11/18 11:09:06 UTC

[3/3] ignite git commit: Perf - fixed hanging test.

Perf - fixed hanging test.


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

Branch: refs/heads/ignite-perftest-merge
Commit: 10d71a9ee8ae109e599664ef1d430a4c06a36ef9
Parents: 7b54c3d
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Wed Nov 18 13:08:46 2015 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Wed Nov 18 13:08:46 2015 +0300

----------------------------------------------------------------------
 ...arOptimisticSerializableTxPrepareFuture.java |  4 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |  4 +-
 ...ridNearOptimisticTxPrepareFutureAdapter.java |  1 -
 .../cache/distributed/near/GridNearTxLocal.java | 40 ++++++++++----------
 4 files changed, 24 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/10d71a9e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
index b8a61f6..1569b14 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
@@ -363,6 +363,8 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim
             return;
         }
 
+        tx.addEntryMapping(mappings.values());
+
         cctx.mvcc().recheckPendingLocks();
 
         tx.transactionNodes(txMapping.transactionNodes());
@@ -601,8 +603,6 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim
                 }
             }
         }
-
-        tx.addEntryMapping(primary, cacheCtx.isNear(), entry.explicitVersion() != null, entry);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/10d71a9e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
index fad3d7d..82e3868 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
@@ -401,6 +401,8 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa
             return;
         }
 
+        tx.addEntryMapping(mappings);
+
         cctx.mvcc().recheckPendingLocks();
 
         tx.transactionNodes(txMapping.transactionNodes());
@@ -597,8 +599,6 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa
             }
         }
 
-        tx.addEntryMapping(primary, cacheCtx.isNear(), entry.explicitVersion() != null, entry);
-
         return cur;
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/10d71a9e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
index 867767b..6b7244a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
@@ -23,7 +23,6 @@ import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFuture;
 import org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx;
-import org.apache.ignite.internal.util.GridLongList;
 import org.apache.ignite.internal.util.lang.GridPlainRunnable;
 import org.apache.ignite.internal.util.typedef.CI1;
 import org.jetbrains.annotations.Nullable;

http://git-wip-us.apache.org/repos/asf/ignite/blob/10d71a9e/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 52667e7..b92be31 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
@@ -511,32 +511,32 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter {
     }
 
     /**
-     * Adds mapping to the transaction. Note that transaction must hold a copy of TX mapping because
-     * tx mapping will be sent to remote nodes.
-     *
-     * @param primary Primary node for which the mapping is being added.
-     * @param near Near mapping flag.
-     * @param explicitLock Explicit lock flag.
-     * @param txEntry Transaction entry being added.
+     * @param maps Mappings.
      */
-    void addEntryMapping(ClusterNode primary, boolean near, boolean explicitLock, IgniteTxEntry txEntry) {
-        UUID nodeId = primary.id();
-        GridDistributedTxMapping m = mappings.get(nodeId);
+    void addEntryMapping(@Nullable Collection<GridDistributedTxMapping> maps) {
+        if (!F.isEmpty(maps)) {
+            for (GridDistributedTxMapping map : maps) {
+                ClusterNode n = map.node();
 
-        if (m == null)
-            mappings.put(m = new GridDistributedTxMapping(primary));
+                GridDistributedTxMapping m = mappings.get(n.id());
 
-        if (near)
-            m.near(true);
+                if (m == null) {
+                    mappings.put(m = new GridDistributedTxMapping(n));
 
-        if (explicitLock)
-            m.markExplicitLock();
+                    m.near(map.near());
 
-        m.add(txEntry);
+                    if (map.explicitLock())
+                        m.markExplicitLock();
+                }
 
-        if (log.isDebugEnabled())
-            log.debug("Added mapping to transaction [locId=" + cctx.localNodeId() + ", primaryId=" + nodeId +
-                ", entry=" + txEntry + ']');
+                for (IgniteTxEntry entry : map.entries())
+                    m.add(entry);
+            }
+
+            if (log.isDebugEnabled())
+                log.debug("Added mappings to transaction [locId=" + cctx.localNodeId() + ", mappings=" + maps +
+                    ", tx=" + this + ']');
+        }
     }
 
     /**