Merge branch 'ignite-3478' into ignite-3479

# Conflicts:
#       
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsSharedManager.java


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

Branch: refs/heads/ignite-3479
Commit: 921df28ce3813f319f0a0bfedc067a061e743ca5
Parents: 1173da5
Author: sboikov <[email protected]>
Authored: Fri Sep 22 17:27:14 2017 +0300
Committer: sboikov <[email protected]>
Committed: Fri Sep 22 17:27:14 2017 +0300

----------------------------------------------------------------------
 .../mvcc/CacheCoordinatorsSharedManager.java    | 31 +++++++++++++-------
 .../mvcc/MvccCoordinatorVersionResponse.java    |  4 +++
 .../cache/mvcc/CacheMvccTransactionsTest.java   |  6 ++--
 3 files changed, 29 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/921df28c/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 8a85be8..6850bce 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
@@ -40,7 +40,6 @@ import 
org.apache.ignite.internal.managers.discovery.DiscoCache;
 import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import 
org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter;
 import 
org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.GridAtomicLong;
@@ -547,20 +546,32 @@ public class CacheCoordinatorsSharedManager<K, V> extends 
GridCacheSharedManager
     private MvccCoordinatorVersionResponse assignQueryCounter(UUID qryNodeId, 
long futId) {
         assert crdVer != 0;
 
-        Long mvccCntr = committedCntr.get();
-
         MvccCoordinatorVersionResponse res = new 
MvccCoordinatorVersionResponse();
 
-        Long trackCntr = mvccCntr;
+        Long mvccCntr;
 
-        for (Long txVer : activeTxs.keySet()) {
-            if (txVer < trackCntr)
-                trackCntr = txVer;
+        for(;;) {
+            mvccCntr = committedCntr.get();
 
-            res.addTx(txVer);
-        }
+            Long trackCntr = mvccCntr;
+
+            for (Long txVer : activeTxs.keySet()) {
+                if (txVer < trackCntr)
+                    trackCntr = txVer;
+
+                res.addTx(txVer);
+            }
 
-        registerActiveQuery(trackCntr);
+            registerActiveQuery(trackCntr);
+
+            if (committedCntr.get() == mvccCntr)
+                break;
+            else {
+                res.resetTransactionsCount();
+
+                onQueryDone(trackCntr);
+            }
+        }
 
         TestDebugLog.addEntryMessage(mvccCntr, res.activeTransactions(), "qry 
cntr");
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/921df28c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorVersionResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorVersionResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorVersionResponse.java
index 1fc24f1..3ca1ec0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorVersionResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorVersionResponse.java
@@ -78,6 +78,10 @@ public class MvccCoordinatorVersionResponse implements 
MvccCoordinatorMessage, M
         txs[txsCnt++] = txId;
     }
 
+    void resetTransactionsCount() {
+        txsCnt = 0;
+    }
+
     /** {@inheritDoc} */
     @Override public int size() {
         return txsCnt;

http://git-wip-us.apache.org/repos/asf/ignite/blob/921df28c/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 cc5e075..5d4b1aa 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
@@ -1318,7 +1318,7 @@ public class CacheMvccTransactionsTest extends 
GridCommonAbstractTest {
 
                             TestDebugLog.printMessagesForThread(msgs, t, 
"test_debug_thread.txt");
 
-                            System.exit(1);
+                            System.exit(88);
                         }
 
                         assertEquals(ACCOUNTS, accounts.size());
@@ -1685,9 +1685,11 @@ public class CacheMvccTransactionsTest extends 
GridCommonAbstractTest {
     }
 
     /**
+     * TODO IGNITE-3478.
+     *
      * @throws Exception If failed.
      */
-    public void testReadInProgressCoordinatorFails() throws Exception {
+    public void _testReadInProgressCoordinatorFails() throws Exception {
         testSpi = true;
 
         startGrids(4);

Reply via email to