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