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/16 12:35:27 UTC

ignite git commit: Perf - Fixed test.

Repository: ignite
Updated Branches:
  refs/heads/ignite-perftest-merge b9ea3fc99 -> 96c1b2d10


Perf - Fixed test.


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

Branch: refs/heads/ignite-perftest-merge
Commit: 96c1b2d10738882bdfd5c670c928a9c64b378130
Parents: b9ea3fc9
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Mon Nov 16 14:35:16 2015 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Mon Nov 16 14:35:16 2015 +0300

----------------------------------------------------------------------
 .../distributed/dht/GridDhtTxLocalAdapter.java  | 33 --------------
 ...arOptimisticSerializableTxPrepareFuture.java |  4 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |  6 +--
 .../cache/distributed/near/GridNearTxLocal.java | 45 ++++++++++----------
 4 files changed, 27 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/96c1b2d1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index 951c18e..74547e9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -394,19 +394,6 @@ public abstract class GridDhtTxLocalAdapter extends IgniteTxLocalAdapter {
     }
 
     /**
-     * @param mappings Mappings to add.
-     */
-    public void addDhtMapping(Map<UUID, GridDistributedTxMapping> mappings) {
-        addMapping0(mappings, dhtMap);
-    }
-
-    /**
-     * @param mappings Mappings to add.
-     */
-    public void addNearMapping(Map<UUID, GridDistributedTxMapping> mappings) {
-        addMapping0(mappings, nearMap);
-    }
-    /**
      * @param nodeId Node ID.
      * @return {@code True} if mapping was removed.
      */
@@ -490,26 +477,6 @@ public abstract class GridDhtTxLocalAdapter extends IgniteTxLocalAdapter {
         }
     }
 
-    /**
-     * @param mappings Mappings to add.
-     * @param dst Map to add to.
-     */
-    private void addMapping0(
-        Map<UUID, GridDistributedTxMapping> mappings,
-        Map<UUID, GridDistributedTxMapping> dst
-    ) {
-        for (Map.Entry<UUID, GridDistributedTxMapping> entry : mappings.entrySet()) {
-            GridDistributedTxMapping targetMapping = dst.get(entry.getKey());
-
-            if (targetMapping == null)
-                dst.put(entry.getKey(), entry.getValue());
-            else {
-                for (IgniteTxEntry txEntry : entry.getValue().entries())
-                    targetMapping.add(txEntry);
-            }
-        }
-    }
-
     /** {@inheritDoc} */
     @Override public void addInvalidPartition(GridCacheContext ctx, int part) {
         assert false : "DHT transaction encountered invalid partition [part=" + part + ", tx=" + this + ']';

http://git-wip-us.apache.org/repos/asf/ignite/blob/96c1b2d1/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 9c6cb88..49f5305 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
@@ -378,8 +378,6 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim
             return;
         }
 
-        tx.addEntryMapping(mappings.values());
-
         cctx.mvcc().recheckPendingLocks();
 
         tx.transactionNodes(txMapping.transactionNodes());
@@ -619,6 +617,8 @@ 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/96c1b2d1/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 eb3a051..3617fdf 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
@@ -296,7 +296,7 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa
             markInitialized();
         }
         catch (TransactionTimeoutException e) {
-            onError( e);
+            onError(e);
         }
     }
 
@@ -360,8 +360,6 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa
             return;
         }
 
-        tx.addEntryMapping(mappings);
-
         cctx.mvcc().recheckPendingLocks();
 
         txMapping.initLast(mappings);
@@ -544,6 +542,8 @@ 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/96c1b2d1/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 c88546b..624b025 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
@@ -548,36 +548,35 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter {
     }
 
     /**
-     * @param maps Mappings.
+     * 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.
      */
-    void addEntryMapping(@Nullable Collection<GridDistributedTxMapping> maps) {
-        if (!F.isEmpty(maps)) {
-            for (GridDistributedTxMapping map : maps) {
-                ClusterNode n = map.node();
+    void addEntryMapping(ClusterNode primary, boolean near, boolean explicitLock, IgniteTxEntry txEntry) {
+        UUID nodeId = primary.id();
+        GridDistributedTxMapping m = mappings.get(nodeId);
 
-                GridDistributedTxMapping m = mappings.get(n.id());
+        if (m == null) {
+            GridDistributedTxMapping old = mappings.putIfAbsent(nodeId, m = new GridDistributedTxMapping(primary));
 
-                if (m == null) {
-                    GridDistributedTxMapping old = mappings.putIfAbsent(map.node().id(), map);
+            assert old == null : "Failed to add mapping to transaction: " + this;
+        }
 
-                    assert old == null : "Failed to add mapping to transaction: " + this;
-                }
-                else {
-                    if (map.near())
-                        m.near(map.near());
+        if (near)
+            m.near(true);
 
-                    if (map.explicitLock())
-                        m.markExplicitLock();
+        if (explicitLock)
+            m.markExplicitLock();
 
-                    for (IgniteTxEntry entry : map.entries())
-                        m.add(entry);
-                }
-            }
+        m.add(txEntry);
 
-            if (log.isDebugEnabled())
-                log.debug("Added mappings to transaction [locId=" + cctx.localNodeId() + ", mappings=" + maps +
-                    ", tx=" + this + ']');
-        }
+        if (log.isDebugEnabled())
+            log.debug("Added mapping to transaction [locId=" + cctx.localNodeId() + ", primaryId=" + nodeId +
+                ", entry=" + txEntry + ']');
     }
 
     /**