You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2018/11/16 12:42:45 UTC

[1/2] ignite git commit: ignite-10044

Repository: ignite
Updated Branches:
  refs/heads/ignite-10044 [created] 9a0351994


ignite-10044


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a2468861
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a2468861
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a2468861

Branch: refs/heads/ignite-10044
Commit: a24688616b95ed2889c6e802b6fa55df0c0fcb0c
Parents: 51933a8
Author: sboikov <sb...@apache.org>
Authored: Fri Nov 16 12:57:35 2018 +0300
Committer: sboikov <sb...@apache.org>
Committed: Fri Nov 16 12:57:35 2018 +0300

----------------------------------------------------------------------
 .../dht/topology/GridDhtPartitionTopologyImpl.java  | 16 ++++++++++++++++
 .../IgniteCachePartitionLossPolicySelfTest.java     |  4 ++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/a2468861/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
index 51e6bec..eabb9b0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
@@ -1563,6 +1563,12 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
 
                             changed = true;
                         }
+                        else if (state == LOST && exchangeVer.equals(grp.localStartVersion())) {
+                            if (lostParts == null)
+                                lostParts = new TreeSet<>();
+
+                            lostParts.add(p);
+                        }
                     }
                 }
 
@@ -2245,6 +2251,16 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
                     }
                 }
 
+                if (lostParts != null) {
+                    for (Map.Entry<UUID, GridDhtPartitionMap> e : node2part.entrySet()) {
+                        if (e.getKey().equals(ctx.localNodeId()))
+                            continue;
+
+                        for (Integer part : lostParts)
+                            e.getValue().put(part, LOST);
+                    }
+                }
+
                 node2part = new GridDhtPartitionFullMap(node2part, updateSeq.incrementAndGet());
             } finally {
                 lock.writeLock().unlock();

http://git-wip-us.apache.org/repos/asf/ignite/blob/a2468861/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
index 9b1ea41..99e087c 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
@@ -519,8 +519,12 @@ public class IgniteCachePartitionLossPolicySelfTest extends GridCommonAbstractTe
 
             info("Newly started node: " + grd.cluster().localNode().id());
 
+            verifyLostPartitions(grd, lostParts);
+
             // Check that partition state does not change after we start each node.
             for (Ignite ig : G.allGrids()) {
+                verifyLostPartitions(grd, lostParts);
+
                 verifyCacheOps(canWrite, safe, ig);
 
                 // TODO Query effectively waits for rebalance due to https://issues.apache.org/jira/browse/IGNITE-10057


[2/2] ignite git commit: ignite-10044

Posted by sb...@apache.org.
ignite-10044


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9a035199
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9a035199
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9a035199

Branch: refs/heads/ignite-10044
Commit: 9a0351994a93d5baa5d53035a3c1b04963a58797
Parents: a246886
Author: sboikov <sb...@apache.org>
Authored: Fri Nov 16 15:41:43 2018 +0300
Committer: sboikov <sb...@apache.org>
Committed: Fri Nov 16 15:41:43 2018 +0300

----------------------------------------------------------------------
 .../dht/topology/GridDhtPartitionTopologyImpl.java    | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/9a035199/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
index eabb9b0..b966eca 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
@@ -1563,12 +1563,6 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
 
                             changed = true;
                         }
-                        else if (state == LOST && exchangeVer.equals(grp.localStartVersion())) {
-                            if (lostParts == null)
-                                lostParts = new TreeSet<>();
-
-                            lostParts.add(p);
-                        }
                     }
                 }
 
@@ -2256,8 +2250,12 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
                         if (e.getKey().equals(ctx.localNodeId()))
                             continue;
 
-                        for (Integer part : lostParts)
-                            e.getValue().put(part, LOST);
+                        for (Integer part : lostParts) {
+                            GridDhtPartitionState state = e.getValue().get(part);
+
+                            if (state != null && state.active())
+                                e.getValue().put(part, LOST);
+                        }
                     }
                 }