ignite-3479
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b7a64fe2 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b7a64fe2 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b7a64fe2 Branch: refs/heads/ignite-3479 Commit: b7a64fe272c2ffeb7a213da468626406f6a89606 Parents: 1d9f2de Author: sboikov <[email protected]> Authored: Fri Sep 22 14:50:13 2017 +0300 Committer: sboikov <[email protected]> Committed: Fri Sep 22 15:48:09 2017 +0300 ---------------------------------------------------------------------- .../mvcc/CacheCoordinatorsSharedManager.java | 24 +++++++++----------- .../cache/mvcc/CacheMvccTransactionsTest.java | 8 ++++--- 2 files changed, 16 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/b7a64fe2/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 07531a6..ef5d1b8 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 @@ -491,16 +491,13 @@ public class CacheCoordinatorsSharedManager<K, V> extends GridCacheSharedManager assert old == null : txId; - long cleanupVer = Long.MAX_VALUE; + long cleanupVer = committedCntr.get() - 1; for (Long qryVer : activeQueries.keySet()) { - if (qryVer < cleanupVer) + if (qryVer <= cleanupVer) cleanupVer = qryVer - 1; } - if (committedCntr.get() - 1 < cleanupVer) - cleanupVer = committedCntr.get() - 1; - TestDebugLog.addMessage3("assign tx cntr", nextCtr, res.activeTransactions(), cleanupVer); res.init(futId, crdVer, nextCtr, cleanupVer); @@ -546,14 +543,12 @@ public class CacheCoordinatorsSharedManager<K, V> extends GridCacheSharedManager * @param qryNodeId Node initiated query. * @return Counter for query. */ - private MvccCoordinatorVersionResponse assignQueryCounter(UUID qryNodeId, long futId) { + private synchronized MvccCoordinatorVersionResponse assignQueryCounter(UUID qryNodeId, long futId) { assert crdVer != 0; - MvccCoordinatorVersionResponse res = new MvccCoordinatorVersionResponse(); - - Long mvccCntr; + Long mvccCntr = committedCntr.get(); - mvccCntr = committedCntr.get(); + MvccCoordinatorVersionResponse res = new MvccCoordinatorVersionResponse(); Long trackCntr = mvccCntr; @@ -600,7 +595,7 @@ public class CacheCoordinatorsSharedManager<K, V> extends GridCacheSharedManager /** * @param mvccCntr Query counter. */ - private void onQueryDone(long mvccCntr) { + private synchronized void onQueryDone(long mvccCntr) { TestDebugLog.addEntryMessage(mvccCntr, null, "qry done"); AtomicInteger cntr = activeQueries.get(mvccCntr); @@ -611,8 +606,11 @@ public class CacheCoordinatorsSharedManager<K, V> extends GridCacheSharedManager assert left >= 0 : left; - if (left == 0) - activeQueries.remove(mvccCntr, cntr); + if (left == 0) { + boolean rmv = activeQueries.remove(mvccCntr, cntr); + + assert rmv; + } } /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/b7a64fe2/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 13be10d..482ffc2 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,11 +1163,11 @@ public class CacheMvccTransactionsTest extends GridCommonAbstractTest { ) throws Exception { - final int ACCOUNTS = 20; + final int ACCOUNTS = 8; final int ACCOUNT_START_VAL = 1000; - final int writers = 4; + final int writers = 2; final int readers = 4; @@ -1286,7 +1286,9 @@ public class CacheMvccTransactionsTest extends GridCommonAbstractTest { if (ACCOUNTS != accounts.size()) { TestDebugLog.addMessage("wrong accounts number: " + accounts.keySet()); - TestDebugLog.printMessages(true, null); + List<Object> msgs = TestDebugLog.printMessages(true, null); + + TestDebugLog.printMessagesForThread(msgs, Thread.currentThread().getName(), "test_debug_thread.txt"); System.exit(1); }
