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);

Reply via email to