Repository: ignite
Updated Branches:
  refs/heads/ignite-3479 db7534b43 -> 921df28ce


ignite-3479


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

Branch: refs/heads/ignite-3479
Commit: 1d9f2de97134fb44bb50b31f24a1ee17c333affd
Parents: db7534b
Author: sboikov <sboi...@gridgain.com>
Authored: Fri Sep 22 14:36:00 2017 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Fri Sep 22 14:36:00 2017 +0300

----------------------------------------------------------------------
 .../mvcc/CacheCoordinatorsSharedManager.java    | 61 ++++++++++----------
 .../cache/mvcc/CacheMvccTransactionsTest.java   |  6 +-
 2 files changed, 32 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/1d9f2de9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java
index 893b1f9..07531a6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java
@@ -549,40 +549,11 @@ public class CacheCoordinatorsSharedManager<K, V> extends 
GridCacheSharedManager
     private MvccCoordinatorVersionResponse assignQueryCounter(UUID qryNodeId, 
long futId) {
         assert crdVer != 0;
 
-        Long mvccCntr;
-
-        for(;;) {
-            mvccCntr = committedCntr.get();
-
-            for (;;) {
-                AtomicInteger qryCnt = activeQueries.get(mvccCntr);
-
-                if (qryCnt != null) {
-                    boolean inc = increment(qryCnt);
-
-                    if (!inc) {
-                        activeQueries.remove(mvccCntr, qryCnt);
-
-                        continue;
-                    }
-                }
-                else {
-                    qryCnt = new AtomicInteger(1);
-
-                    if (activeQueries.putIfAbsent(mvccCntr, qryCnt) != null)
-                        continue;
-                }
-
-                break;
-            }
-
-            if (mvccCntr == committedCntr.get())
-                break;
+        MvccCoordinatorVersionResponse res = new 
MvccCoordinatorVersionResponse();
 
-            onQueryDone(mvccCntr);
-        }
+        Long mvccCntr;
 
-        MvccCoordinatorVersionResponse res = new 
MvccCoordinatorVersionResponse();
+        mvccCntr = committedCntr.get();
 
         Long trackCntr = mvccCntr;
 
@@ -593,6 +564,8 @@ public class CacheCoordinatorsSharedManager<K, V> extends 
GridCacheSharedManager
             res.addTx(txVer);
         }
 
+        registerActiveQuery(trackCntr);
+
         TestDebugLog.addEntryMessage(mvccCntr, res.activeTransactions(), "qry 
cntr");
 
         res.init(futId, crdVer, mvccCntr, COUNTER_NA);
@@ -600,6 +573,30 @@ public class CacheCoordinatorsSharedManager<K, V> extends 
GridCacheSharedManager
         return res;
     }
 
+    private void registerActiveQuery(Long cntr) {
+        for (;;) {
+            AtomicInteger qryCnt = activeQueries.get(cntr);
+
+            if (qryCnt != null) {
+                boolean inc = increment(qryCnt);
+
+                if (!inc) {
+                    activeQueries.remove(mvccCntr, qryCnt);
+
+                    continue;
+                }
+            }
+            else {
+                qryCnt = new AtomicInteger(1);
+
+                if (activeQueries.putIfAbsent(cntr, qryCnt) != null)
+                    continue;
+            }
+
+            break;
+        }
+    }
+
     /**
      * @param mvccCntr Query counter.
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/1d9f2de9/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
index 035cf8e..13be10d 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
@@ -1163,13 +1163,13 @@ public class CacheMvccTransactionsTest extends 
GridCommonAbstractTest {
     )
         throws Exception
     {
-        final int ACCOUNTS = 5;
+        final int ACCOUNTS = 20;
 
         final int ACCOUNT_START_VAL = 1000;
 
-        final int writers = 2;
+        final int writers = 4;
 
-        final int readers = 1;
+        final int readers = 4;
 
         final IgniteInClosure<IgniteCache<Object, Object>> init = new 
IgniteInClosure<IgniteCache<Object, Object>>() {
             @Override public void apply(IgniteCache<Object, Object> cache) {

Reply via email to