You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ir...@apache.org on 2019/08/30 17:20:06 UTC

[ignite] branch master updated: IGNITE-12087 Transactional putAll - significant performance drop on big batches of entries. - Fixes #6797.

This is an automated email from the ASF dual-hosted git repository.

irakov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 626c4cd  IGNITE-12087 Transactional putAll - significant performance drop on big batches of entries. - Fixes #6797.
626c4cd is described below

commit 626c4cda245940ad87958b3698ce2a46ec72ea66
Author: Eduard Shangareev <ed...@gmail.com>
AuthorDate: Fri Aug 30 20:19:46 2019 +0300

    IGNITE-12087 Transactional putAll - significant performance drop on big batches of entries. - Fixes #6797.
    
    Signed-off-by: Ivan Rakov <ir...@apache.org>
---
 .../processors/cache/distributed/GridDistributedCacheEntry.java        | 3 +++
 .../internal/processors/cache/CacheStoreTxPutAllMultiNodeTest.java     | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java
index 51245e8..94349a0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java
@@ -750,6 +750,9 @@ public class GridDistributedCacheEntry extends GridCacheMapEntry {
 
                 // Allow next lock in the thread to proceed.
                 if (!cand.used()) {
+                    if (cand.owner())
+                        break;
+
                     GridCacheContext cctx0 = cand.parent().context();
 
                     GridDistributedCacheEntry e =
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreTxPutAllMultiNodeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreTxPutAllMultiNodeTest.java
index dc362f6..66b3768 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreTxPutAllMultiNodeTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreTxPutAllMultiNodeTest.java
@@ -139,7 +139,7 @@ public class CacheStoreTxPutAllMultiNodeTest extends GridCommonAbstractTest {
     private static Map<Integer, String> createMap() {
         Map<Integer, String> data = new TreeMap<>();
 
-        for (int i = 1; i < 500; i ++)
+        for (int i = 1; i < 10_000; i ++)
             data.put(i, "Eddy " + i);
 
         return data;