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 2015/05/27 16:27:56 UTC
[6/6] incubator-ignite git commit: # ignite-929 review
# ignite-929 review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d58f5cd4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d58f5cd4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d58f5cd4
Branch: refs/heads/ignite-929
Commit: d58f5cd4de957a37af8ef2b7c6ceacc648f72090
Parents: 39183ee
Author: sboikov <sb...@gridgain.com>
Authored: Wed May 27 17:27:40 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed May 27 17:27:40 2015 +0300
----------------------------------------------------------------------
.../managers/discovery/GridDiscoveryManager.java | 12 ++++++++++--
.../internal/processors/cache/GridCacheProcessor.java | 7 ++-----
.../cache/distributed/dht/GridDhtCacheEntry.java | 5 +++--
.../processors/cache/CacheStopAndDestroySelfTest.java | 6 +++++-
4 files changed, 20 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58f5cd4/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 9737002..c7bbf6f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -255,7 +255,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
* @param cacheName Cache name.
* @param clientNodeId Near node ID.
*/
- public void onNodeLeft(String cacheName, UUID clientNodeId) {
+ public void onClientCacheClose(String cacheName, UUID clientNodeId) {
CachePredicate predicate = registeredCaches.get(cacheName);
if (predicate != null)
@@ -999,9 +999,17 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
* @return {@code True} if node for given ID is alive.
*/
public boolean alive(UUID nodeId) {
+ return getAlive(nodeId) != null;
+ }
+
+ /**
+ * @param nodeId Node ID.
+ * @return Node if node is alive.
+ */
+ @Nullable public ClusterNode getAlive(UUID nodeId) {
assert nodeId != null;
- return getSpi().getNode(nodeId) != null; // Go directly to SPI without checking disco cache.
+ return getSpi().getNode(nodeId); // Go directly to SPI without checking disco cache.
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58f5cd4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index ccbf10a..3c5d2dc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -2129,7 +2129,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
req.nearCacheConfiguration() != null);
}
else if (req.close()) {
-
if (req.initiatingNodeId().equals(ctx.localNodeId())) {
stopGateway(req);
@@ -2139,14 +2138,12 @@ public class GridCacheProcessor extends GridProcessorAdapter {
registeredCaches.remove(maskNull(req.cacheName()), desc);
}
- ctx.discovery().onNodeLeft(req.cacheName(), req.initiatingNodeId());
+ ctx.discovery().onClientCacheClose(req.cacheName(), req.initiatingNodeId());
DynamicCacheStartFuture changeFut = (DynamicCacheStartFuture)pendingFuts.get(maskNull(req.cacheName()));
- if (changeFut != null && changeFut.deploymentId().equals(req.deploymentId())) {
- // No-op.
+ if (changeFut != null && changeFut.deploymentId().equals(req.deploymentId()))
changeFut.onDone();
- }
}
else {
if (desc == null) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58f5cd4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
index 1ecc63c..9318438 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
@@ -601,8 +601,9 @@ public class GridDhtCacheEntry extends GridDistributedCacheEntry {
List<ReaderId> newRdrs = null;
for (int i = 0; i < rdrs.length; i++) {
- if (!cctx.discovery().alive(rdrs[i].nodeId()) ||
- !cctx.discovery().cacheNode(cctx.discovery().node(rdrs[i].nodeId), cacheName())) {
+ ClusterNode node = cctx.discovery().getAlive(rdrs[i].nodeId());
+
+ if (node == null || !cctx.discovery().cacheNode(node, cacheName())) {
// Node has left and if new list has already been created, just skip.
// Otherwise, create new list and add alive nodes.
if (newRdrs == null) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d58f5cd4/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
index 31e5d92..48769da 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
@@ -325,7 +325,11 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
assert grid(0).cache(CACHE_NAME_CLOSE_NEAR).get(KEY_VAL).equals(KEY_VAL + "recreated");
assert grid(1).cache(CACHE_NAME_CLOSE_NEAR).get(KEY_VAL).equals(KEY_VAL + "recreated");
- assert grid(2).cache(CACHE_NAME_CLOSE_NEAR).get(KEY_VAL).equals(KEY_VAL + "recreated");
+ assert grid(2).cache(CACHE_NAME_CLOSE_NEAR).localPeek(KEY_VAL).equals(KEY_VAL + "recreated");
+
+ grid(0).cache(CACHE_NAME_CLOSE_NEAR).put(KEY_VAL, KEY_VAL + "recreated2");
+
+ assert grid(2).cache(CACHE_NAME_CLOSE_NEAR).localPeek(KEY_VAL).equals(KEY_VAL + "recreated2");
//Local close. Same as Local destroy.