Merge remote-tracking branch 'remotes/origin/ignite-709_2' into ignite-23 Conflicts: modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d2993169 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d2993169 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d2993169 Branch: refs/heads/ignite-709_2 Commit: d2993169836454c6a1cefd5b3d99e7a77239b5cc Parents: 942d712 10c7363 Author: sboikov <sboi...@gridgain.com> Authored: Thu May 21 10:10:16 2015 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Thu May 21 10:10:16 2015 +0300 ---------------------------------------------------------------------- LICENSE | 238 ++++++++++++++ LICENSE.txt | 238 -------------- NOTICE | 12 + NOTICE.txt | 12 - assembly/release-base.xml | 4 +- dev-tools/build.gradle | 35 +- dev-tools/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 51017 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + dev-tools/gradlew | 164 ++++++++++ dev-tools/src/main/groovy/jiraslurp.groovy | 326 ++++++++++++++----- .../internal/GridEventConsumeHandler.java | 26 ++ .../apache/ignite/internal/IgniteKernal.java | 26 +- .../interop/InteropAwareEventFilter.java | 37 +++ .../interop/InteropLocalEventListener.java | 28 ++ .../eventstorage/GridEventStorageManager.java | 24 +- .../processors/cache/GridCacheIoManager.java | 6 +- .../GridCachePartitionExchangeManager.java | 4 +- .../distributed/GridDistributedTxMapping.java | 5 +- .../distributed/dht/GridDhtCacheAdapter.java | 6 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 1 + .../dht/atomic/GridDhtAtomicCache.java | 13 +- .../dht/atomic/GridNearAtomicUpdateFuture.java | 41 ++- .../dht/atomic/GridNearAtomicUpdateRequest.java | 36 +- .../colocated/GridDhtColocatedLockFuture.java | 4 +- .../distributed/near/GridNearCacheEntry.java | 2 +- .../cache/distributed/near/GridNearTxLocal.java | 5 +- .../near/GridNearTxPrepareFutureAdapter.java | 9 +- .../near/GridNearTxPrepareResponse.java | 28 +- .../continuous/CacheContinuousQueryManager.java | 2 +- .../transactions/IgniteTxLocalAdapter.java | 4 +- .../cache/transactions/IgniteTxManager.java | 24 ++ .../continuous/GridContinuousProcessor.java | 2 +- .../discovery/tcp/TcpClientDiscoverySpi.java | 2 +- .../spi/discovery/tcp/TcpDiscoverySpi.java | 4 +- .../discovery/tcp/TcpDiscoverySpiAdapter.java | 10 +- .../core/src/main/resources/ignite.properties | 2 +- .../internal/GridDiscoveryEventSelfTest.java | 7 +- .../GridDiscoveryManagerAliveCacheSelfTest.java | 33 +- .../GridDiscoveryManagerAttributesSelfTest.java | 29 +- .../discovery/GridDiscoveryManagerSelfTest.java | 19 +- .../cache/IgniteCacheNearLockValueSelfTest.java | 145 +++++++++ .../IgniteCacheP2pUnmarshallingErrorTest.java | 29 +- ...gniteCacheP2pUnmarshallingNearErrorTest.java | 13 +- .../IgniteClientDataStructuresAbstractTest.java | 6 +- ...ientModesTcpClientDiscoveryAbstractTest.java | 9 +- .../processors/igfs/IgfsCommonAbstractTest.java | 10 - ...pClientDiscoveryMarshallerCheckSelfTest.java | 16 +- .../tcp/TcpDiscoveryConcurrentStartTest.java | 45 ++- .../ignite/testframework/GridTestUtils.java | 15 + .../testframework/junits/GridAbstractTest.java | 30 +- .../junits/common/GridCommonAbstractTest.java | 31 -- .../ignite/testsuites/IgniteBasicTestSuite.java | 2 +- ...gniteCacheP2pUnmarshallingErrorTestSuit.java | 41 --- ...niteCacheP2pUnmarshallingErrorTestSuite.java | 41 +++ .../ignite/testsuites/IgniteCacheTestSuite.java | 2 + parent/pom.xml | 4 + pom.xml | 4 +- 57 files changed, 1348 insertions(+), 569 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d2993169/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d2993169/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d2993169/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index a1c2a1f,8bbfe96..5a5c490 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@@ -1044,20 -1042,20 +1044,29 @@@ public class GridDhtAtomicCache<K, V> e return; } + ClusterNode node = ctx.discovery().node(nodeId); + // Do not check topology version for CLOCK versioning since + // partition exchange will wait for near update future. + // Also do not check topology version if topology was locked on near node by + // external transaction or explicit lock. + if (topology().topologyVersion().equals(req.topologyVersion()) || req.topologyLocked() || + ctx.config().getAtomicWriteOrderMode() == CLOCK) { + ClusterNode node = ctx.discovery().node(nodeId); - if (node == null) { - U.warn(log, "Node originated update request left grid: " + nodeId); + if (node == null) { + U.warn(log, "Node originated update request left grid: " + nodeId); - return; - } + return; + } + + clientReq = CU.clientNode(node); + // Do not check topology version for CLOCK versioning since + // partition exchange will wait for near update future. - if ((req.fastMap() && !clientReq) || topology().topologyVersion().equals(req.topologyVersion())) { - ++ // Also do not check topology version if topology was locked on near node by ++ // external transaction or explicit lock. ++ if ((req.fastMap() && !clientReq) || req.topologyLocked() || ++ topology().topologyVersion().equals(req.topologyVersion())) { boolean hasNear = ctx.discovery().cacheNearNode(node, name()); GridCacheVersion ver = req.updateVersion(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d2993169/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java index 476487e,76e05e5..b7c4719 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java @@@ -289,7 -293,23 +293,23 @@@ public class GridNearAtomicUpdateFutur * @param waitTopFut Whether to wait for topology future. */ public void map(boolean waitTopFut) { - mapOnTopology(null, false, null, waitTopFut); + AffinityTopologyVersion topVer = null; + + IgniteInternalTx tx = cctx.tm().anyActiveThreadTx(); + + if (tx != null && tx.topologyVersionSnapshot() != null) + topVer = tx.topologyVersionSnapshot(); + + if (topVer == null) + topVer = cctx.mvcc().lastExplicitLockTopologyVersion(Thread.currentThread().getId()); + + if (topVer == null) - mapOnTopology(keys, false, null, waitTopFut); ++ mapOnTopology(null, false, null, waitTopFut); + else { + topLocked = true; + - map0(topVer, keys, false, null); ++ map0(topVer, null, false, null); + } } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d2993169/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d2993169/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java ----------------------------------------------------------------------