ignite-2008 Call removeExplicitNodeLocks before waiting for partitionReleaseFuture.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/baab3d2b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/baab3d2b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/baab3d2b Branch: refs/heads/ignite-1.5.1 Commit: baab3d2b6e047f32f33f1174474683096f2eb373 Parents: 171e9b1 Author: sboikov <sboi...@gridgain.com> Authored: Fri Dec 4 09:04:00 2015 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Fri Dec 4 09:04:00 2015 +0300 ---------------------------------------------------------------------- .../dht/preloader/GridDhtPartitionsExchangeFuture.java | 9 ++++----- .../distributed/dht/GridCacheTxNodeFailureSelfTest.java | 2 ++ .../distributed/dht/GridNearCacheTxNodeFailureSelfTest.java | 4 ---- .../org/apache/ignite/testsuites/IgniteCacheTestSuite2.java | 2 ++ 4 files changed, 8 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/baab3d2b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java index f7e6acc..31bfa79 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java @@ -754,6 +754,9 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT // Assign to class variable so it will be included into toString() method. this.partReleaseFut = partReleaseFut; + if (exchId.isLeft()) + cctx.mvcc().removeExplicitNodeLocks(exchId.nodeId(), exchId.topologyVersion()); + if (log.isDebugEnabled()) log.debug("Before waiting for partition release future: " + this); @@ -778,9 +781,6 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT if (log.isDebugEnabled()) log.debug("After waiting for partition release future: " + this); - if (exchId.isLeft()) - cctx.mvcc().removeExplicitNodeLocks(exchId.nodeId(), exchId.topologyVersion()); - IgniteInternalFuture<?> locksFut = cctx.mvcc().finishLocks(exchId.topologyVersion()); dumpedObjects = 0; @@ -1015,9 +1015,8 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT if (ready) { GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true); - if (useOldApi) { + if (useOldApi) locMap = new GridDhtPartitionFullMap(locMap.nodeId(), locMap.nodeOrder(), locMap.updateSequence(), locMap); - } m.addFullPartitionsMap(cacheCtx.cacheId(), locMap); http://git-wip-us.apache.org/repos/asf/ignite/blob/baab3d2b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java index fe0b84e..78e7672 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java @@ -295,6 +295,8 @@ public class GridCacheTxNodeFailureSelfTest extends GridCommonAbstractTest { // Check that thread successfully finished. fut.get(); + awaitPartitionMapExchange(); + // Check there are no hanging transactions. assertEquals(0, ((IgniteEx)ignite(0)).context().cache().context().tm().idMapSize()); assertEquals(0, ((IgniteEx)ignite(2)).context().cache().context().tm().idMapSize()); http://git-wip-us.apache.org/repos/asf/ignite/blob/baab3d2b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridNearCacheTxNodeFailureSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridNearCacheTxNodeFailureSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridNearCacheTxNodeFailureSelfTest.java index ca23646..5735182 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridNearCacheTxNodeFailureSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridNearCacheTxNodeFailureSelfTest.java @@ -28,8 +28,4 @@ public class GridNearCacheTxNodeFailureSelfTest extends GridCacheTxNodeFailureSe @Override protected CacheConfiguration cacheConfiguration(String gridName) { return super.cacheConfiguration(gridName).setNearConfiguration(new NearCacheConfiguration()); } - - @Override public void testPrimaryNodeFailureBackupCommitImplicit(){ - fail("https://issues.apache.org/jira/browse/IGNITE-1611"); - } } http://git-wip-us.apache.org/repos/asf/ignite/blob/baab3d2b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java index 74b688f..c94931e 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java @@ -35,6 +35,7 @@ import org.apache.ignite.internal.processors.cache.IgniteCacheEntryProcessorNode import org.apache.ignite.internal.processors.cache.IgniteCachePartitionMapUpdateTest; import org.apache.ignite.internal.processors.cache.IgniteDynamicCacheAndNodeStop; import org.apache.ignite.internal.processors.cache.distributed.CacheLoadingConcurrentGridStartSelfTest; +import org.apache.ignite.internal.processors.cache.distributed.CacheLockReleaseNodeLeaveTest; import org.apache.ignite.internal.processors.cache.distributed.GridCachePartitionNotLoadedEventSelfTest; import org.apache.ignite.internal.processors.cache.distributed.GridCachePartitionedNearDisabledTxMultiThreadedSelfTest; import org.apache.ignite.internal.processors.cache.distributed.GridCacheTransformEventSelfTest; @@ -244,6 +245,7 @@ public class IgniteCacheTestSuite2 extends TestSuite { suite.addTest(new TestSuite(GridCacheNearTxForceKeyTest.class)); suite.addTest(new TestSuite(CrossCacheTxRandomOperationsTest.class)); suite.addTest(new TestSuite(IgniteDynamicCacheAndNodeStop.class)); + suite.addTest(new TestSuite(CacheLockReleaseNodeLeaveTest.class)); return suite; }