Repository: ignite Updated Branches: refs/heads/master 180804a33 -> bf0a4f859
IGNITE-9170 .NET: Test CachePartitionedAtomicNearEnabledTest.TestRebalance hangs - Fixes #4479. Signed-off-by: Dmitriy Pavlov <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bf0a4f85 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bf0a4f85 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bf0a4f85 Branch: refs/heads/master Commit: bf0a4f859dbeef067e83d3fc5a4c56375b89986e Parents: 180804a Author: Maxim Muzafarov <[email protected]> Authored: Fri Aug 3 17:56:05 2018 +0300 Committer: Dmitriy Pavlov <[email protected]> Committed: Fri Aug 3 17:56:05 2018 +0300 ---------------------------------------------------------------------- .../GridCachePartitionExchangeManager.java | 5 ++++- .../cache/CacheRebalancingSelfTest.java | 23 +++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/bf0a4f85/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java index 824aa67..4ec7774 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java @@ -2605,10 +2605,13 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana assignsMap.put(grp.groupId(), assigns); - if (resVer == null) + if (resVer == null && !grp.isLocal()) resVer = grp.topology().readyTopologyVersion(); } } + + if (resVer == null) + resVer = exchId.topologyVersion(); } finally { // Must flip busy flag before assignments are given to demand workers. http://git-wip-us.apache.org/repos/asf/ignite/blob/bf0a4f85/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheRebalancingSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheRebalancingSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheRebalancingSelfTest.java index 147b76a..75e6296 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheRebalancingSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheRebalancingSelfTest.java @@ -19,9 +19,11 @@ package org.apache.ignite.internal.processors.cache; import java.util.HashSet; +import java.util.Random; import java.util.Set; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; +import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.CachePeekMode; import org.apache.ignite.cache.CacheWriteSynchronizationMode; import org.apache.ignite.configuration.CacheConfiguration; @@ -35,13 +37,10 @@ import org.apache.ignite.lang.IgniteFuture; import org.apache.ignite.testframework.GridTestUtils; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; -import java.util.Random; - /** * Test for rebalancing. */ public class CacheRebalancingSelfTest extends GridCommonAbstractTest { - /** Cache name with one backups */ private static final String REBALANCE_TEST_CACHE_NAME = "rebalanceCache"; @@ -67,6 +66,24 @@ public class CacheRebalancingSelfTest extends GridCommonAbstractTest { } /** + * @throws Exception If fails. + */ + public void testRebalanceLocalCacheFuture() throws Exception { + startGrid( + getTestIgniteInstanceName(0), + getConfiguration(getTestIgniteInstanceName(0)) + .setCacheConfiguration( + new CacheConfiguration<Integer, Integer>(DEFAULT_CACHE_NAME), + new CacheConfiguration<Integer, Integer>(REBALANCE_TEST_CACHE_NAME) + .setCacheMode(CacheMode.LOCAL)) + ); + + IgniteCache<Integer, Integer> cache = ignite(0).cache(DEFAULT_CACHE_NAME); + + assertTrue(cache.rebalance().get()); + } + + /** * @throws Exception If failed. */ public void testRebalanceFuture() throws Exception {
