IGNITE-426 Fixed continuous tests.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2044291c Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2044291c Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2044291c Branch: refs/heads/ignite-426-2 Commit: 2044291cc9271583e5528d9b986d1e9d325cd5b2 Parents: f89eb21 efc79fb Author: nikolay_tikhonov <[email protected]> Authored: Mon Nov 9 15:26:23 2015 +0300 Committer: nikolay_tikhonov <[email protected]> Committed: Mon Nov 9 15:26:23 2015 +0300 ---------------------------------------------------------------------- .../rest/AbstractRestProcessorSelfTest.java | 5 +- .../JettyRestProcessorAbstractSelfTest.java | 142 +++++++---- .../configuration/ConnectorConfiguration.java | 61 ++++- .../managers/communication/GridIoMessage.java | 4 +- .../discovery/GridDiscoveryManager.java | 5 +- .../processors/cache/GridCacheContext.java | 29 +-- .../processors/cache/GridCacheEntryEx.java | 2 - .../processors/cache/GridCacheMapEntry.java | 53 ++-- .../processors/cache/GridCacheMvccManager.java | 145 ++++++----- .../distributed/GridDistributedCacheEntry.java | 2 +- .../distributed/GridDistributedTxMapping.java | 8 +- .../GridDistributedTxRemoteAdapter.java | 5 +- .../distributed/dht/GridDhtLockFuture.java | 7 +- .../dht/GridDhtTransactionalCacheAdapter.java | 13 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 43 ++-- .../distributed/dht/GridDhtTxPrepareFuture.java | 78 +++--- .../cache/distributed/dht/GridDhtTxRemote.java | 45 ++-- .../dht/colocated/GridDhtColocatedCache.java | 7 +- .../dht/preloader/GridDhtPartitionDemander.java | 4 +- .../near/GridNearOptimisticTxPrepareFuture.java | 11 +- .../near/GridNearTransactionalCache.java | 7 +- .../near/GridNearTxFinishFuture.java | 157 ++++++------ .../cache/distributed/near/GridNearTxLocal.java | 21 +- .../cache/transactions/IgniteInternalTx.java | 3 +- .../cache/transactions/IgniteTxAdapter.java | 251 +++++++++--------- .../cache/transactions/IgniteTxHandler.java | 37 +-- .../transactions/IgniteTxLocalAdapter.java | 26 +- .../cache/transactions/IgniteTxManager.java | 171 ++++++------- .../handlers/cache/GridCacheCommandHandler.java | 128 ++++++++-- .../handlers/query/QueryCommandHandler.java | 254 ++++++++++++++----- .../top/GridTopologyCommandHandler.java | 4 - .../GridBoundedConcurrentLinkedHashMap.java | 7 +- .../GridBoundedConcurrentLinkedHashSet.java | 7 +- .../util/GridBoundedConcurrentOrderedMap.java | 39 +-- .../internal/util/GridConcurrentFactory.java | 11 +- .../util/GridConcurrentLinkedHashSet.java | 9 +- .../ignite/internal/util/IgniteUuidCache.java | 6 +- .../util/future/GridCompoundFuture.java | 155 +++++++---- .../java/org/jsr166/ConcurrentHashMap8.java | 2 +- .../java/org/jsr166/ConcurrentLinkedDeque8.java | 2 +- .../org/jsr166/ConcurrentLinkedHashMap.java | 195 +++++++++++--- .../GridCacheAffinityBackupsSelfTest.java | 8 + .../cache/GridCacheAbstractFullApiSelfTest.java | 2 +- .../GridCacheMissingCommitVersionSelfTest.java | 40 +-- .../processors/cache/GridCacheTestEntryEx.java | 1 - ...achePartitionedMultiNodeFullApiSelfTest.java | 2 +- .../continuous/GridEventConsumeSelfTest.java | 2 +- ...dBoundedConcurrentLinkedHashMapSelfTest.java | 2 +- .../GridConcurrentLinkedHashMapSelfTest.java | 62 ++++- .../junits/common/GridCommonAbstractTest.java | 4 +- .../testsuites/IgniteCacheTestSuite3.java | 2 + ...rrentLinkedHashMapMultiThreadedSelfTest.java | 104 ++++---- .../visor/commands/open/VisorOpenCommand.scala | 14 +- .../yardstick/cache/IgnitePutTxBenchmark.java | 10 + .../cache/IgnitePutTxPrimaryOnlyBenchmark.java | 65 +++++ .../IgnitePutTxSkipLocalBackupBenchmark.java | 65 +++++ .../cache/WaitMapExchangeFinishCallable.java | 95 +++++++ 57 files changed, 1694 insertions(+), 945 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index e8ef6b4,df9f5c4..75c1039 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@@ -1255,8 -1244,10 +1255,12 @@@ public abstract class GridCacheMapEntr Cache.Entry entry0 = null; + Long updateCntr0; + + boolean deferred; + + boolean marked = false; + synchronized (this) { checkObsolete(); @@@ -1363,45 -1349,37 +1367,38 @@@ taskName); } - if (cctx.isLocal() || cctx.isReplicated() || (tx != null && tx.local() && !isNear())) - cctx.continuousQueries().onEntryUpdated(this, key, null, old, false); + if (cctx.isLocal() || cctx.isReplicated() || + (!isNear() && !(tx != null && tx.onePhaseCommit() && !tx.local()))) + cctx.continuousQueries().onEntryUpdated(this, key, null, old, tx.local(), false, updateCntr0, topVer); cctx.dataStructures().onEntryUpdated(key, true); - } - // Persist outside of synchronization. The correctness of the - // value will be handled by current transaction. - if (writeThrough) - cctx.store().remove(tx, keyValue(false)); + deferred = cctx.deferredDelete() && !detached() && !isInternal(); - if (cctx.deferredDelete() && !detached() && !isInternal()) - cctx.onDeferredDelete(this, newVer); - else { - boolean marked = false; - - synchronized (this) { + if (!deferred) { // If entry is still removed. - if (newVer == ver) { - if (obsoleteVer == null || !(marked = markObsolete0(obsoleteVer, true, null))) { - if (log.isDebugEnabled()) - log.debug("Entry could not be marked obsolete (it is still used): " + this); - } - else { - recordNodeId(affNodeId, topVer); + assert newVer == ver; - // If entry was not marked obsolete, then removed lock - // will be registered whenever removeLock is called. - cctx.mvcc().addRemoved(cctx, obsoleteVer); + if (obsoleteVer == null || !(marked = markObsolete0(obsoleteVer, true, null))) { + if (log.isDebugEnabled()) + log.debug("Entry could not be marked obsolete (it is still used): " + this); + } + else { + recordNodeId(affNodeId, topVer); - if (log.isDebugEnabled()) - log.debug("Entry was marked obsolete: " + this); - } + if (log.isDebugEnabled()) + log.debug("Entry was marked obsolete: " + this); } } + } + + if (deferred) + cctx.onDeferredDelete(this, newVer); - if (marked) - onMarkedObsolete(); + if (marked) { + assert !deferred; + + onMarkedObsolete(); } if (intercept) http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java index af5ff12,93303c8..04c2516 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java @@@ -602,10 -588,10 +601,11 @@@ public class GridDistributedTxRemoteAda topVer, null, replicate ? DR_BACKUP : DR_NONE, - near() ? null : explicitVer, CU.subjectId(this, cctx), + near() ? null : explicitVer, + CU.subjectId(this, cctx), resolveTaskName(), - dhtVer); + dhtVer, + txEntry.updateCounter()); else { cached.innerSet(this, eventNodeId(), http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2044291c/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java ----------------------------------------------------------------------
