Repository: ignite Updated Branches: refs/heads/ignite-5578 ed368b6c9 -> 930897a54
5578 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a44f0340 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a44f0340 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a44f0340 Branch: refs/heads/ignite-5578 Commit: a44f0340678a870bcf1848b72518c1fd3b0fac9c Parents: ed368b6 Author: sboikov <[email protected]> Authored: Thu Aug 3 07:34:19 2017 +0300 Committer: sboikov <[email protected]> Committed: Thu Aug 3 07:34:19 2017 +0300 ---------------------------------------------------------------------- .../GridCachePartitionExchangeManager.java | 6 ++- .../distributed/CacheExchangeMergeTest.java | 49 ++++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a44f0340/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 9319ed9..6efd19e 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 @@ -1797,7 +1797,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana log.info("Merge exchange future on finish [curFut=" + curFut.initialVersion() + ", mergedFut=" + fut.initialVersion() + ", evt=" + IgniteUtils.gridEventName(fut.discoveryEvent().type()) + - ", evtNode=" + fut.discoveryEvent().eventNode().id()+ ']'); + ", evtNode=" + fut.discoveryEvent().eventNode().id()+ + ", evtNodeClient=" + CU.clientNode(fut.discoveryEvent().eventNode())+ ']'); DiscoveryEvent evt = fut.discoveryEvent(); @@ -1911,7 +1912,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana log.info("Merge exchange future [curFut=" + curFut.initialVersion() + ", mergedFut=" + fut.initialVersion() + ", evt=" + IgniteUtils.gridEventName(fut.discoveryEvent().type()) + - ", evtNode=" + fut.discoveryEvent().eventNode().id()+ ']'); + ", evtNode=" + fut.discoveryEvent().eventNode().id() + + ", evtNodeClient=" + CU.clientNode(fut.discoveryEvent().eventNode())+ ']'); curFut.context().events().addEvent(fut.initialVersion(), fut.discoveryEvent(), http://git-wip-us.apache.org/repos/asf/ignite/blob/a44f0340/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheExchangeMergeTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheExchangeMergeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheExchangeMergeTest.java index f2e064f..0d6490e 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheExchangeMergeTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheExchangeMergeTest.java @@ -686,6 +686,55 @@ public class CacheExchangeMergeTest extends GridCommonAbstractTest { /** * @throws Exception If failed. */ + public void testMergeServersAndClientsFail1() throws Exception { + mergeServersAndClientsFail(false); + } + + /** + * @throws Exception If failed. + */ + public void testMergeServersAndClientsFail2() throws Exception { + mergeServersAndClientsFail(true); + } + + + /** + * @param waitRebalance Wait for rebalance end before start tested topology change. + * @throws Exception If failed. + */ + private void mergeServersAndClientsFail(boolean waitRebalance) throws Exception { + clientC = new IgniteClosure<String, Boolean>() { + @Override public Boolean apply(String nodeName) { + return nodeName.equals(getTestIgniteInstanceName(2)) || nodeName.equals(getTestIgniteInstanceName(3)); + } + }; + + final Ignite srv0 = startGrids(6); + + if (waitRebalance) + awaitPartitionMapExchange(); + + mergeExchangeWaitVersion(srv0, 10); + + stopGrid(getTestIgniteInstanceName(1), true, false); + stopGrid(getTestIgniteInstanceName(2), true, false); + stopGrid(getTestIgniteInstanceName(3), true, false); + stopGrid(getTestIgniteInstanceName(4), true, false); + + checkAffinity(); + + mergeExchangeWaitVersion(srv0, 12); + + IgniteInternalFuture fut = startGrids(srv0, 6, 2); + + fut.get(); + + checkCaches(); + } + + /** + * @throws Exception If failed. + */ public void testJoinExchangeCoordinatorChange_NoMerge_1() throws Exception { for (CoordinatorChangeMode mode : CoordinatorChangeMode.values()) { exchangeCoordinatorChangeNoMerge(4, true, mode);
