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 2016/11/11 08:22:32 UTC
[3/4] ignite git commit: ignite-4154
ignite-4154
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fb919d0f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fb919d0f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fb919d0f
Branch: refs/heads/ignite-4154-opt2
Commit: fb919d0f8d2675bdc6c3c3c35e176bca2e64b341
Parents: 2ee115d
Author: sboikov <sb...@gridgain.com>
Authored: Fri Nov 11 10:52:40 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Nov 11 11:21:33 2016 +0300
----------------------------------------------------------------------
.../discovery/GridDiscoveryManager.java | 4 ++
.../cache/CacheAffinitySharedManager.java | 12 ++++-
.../GridCachePartitionExchangeManager.java | 2 +
.../GridDhtPartitionsExchangeFuture.java | 48 +++++++++++++++++++-
.../ignite/spi/discovery/tcp/ServerImpl.java | 2 +
5 files changed, 64 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/fb919d0f/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 345cfb4..8b945d4 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
@@ -2742,6 +2742,10 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
this.nodeMap = nodeMap;
}
+ Collection<String> nodeCaches(ClusterNode node) {
+ return null;
+ }
+
/**
* Adds node to map.
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/fb919d0f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
index 2890887..27c2bac 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
@@ -1517,6 +1517,14 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
return assignment;
}
+ public GridAffinityAssignmentCache cacheAssignment(Integer cacheId) {
+ CacheHolder holder = caches.get(cacheId);
+
+ assert holder != null;
+
+ return holder.affinity();
+ }
+
/**
*
*/
@@ -1730,7 +1738,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
* @param aff Affinity.
* @param initAff Current affinity.
*/
- public CacheHolder2(
+ CacheHolder2(
boolean rebalanceEnabled,
GridCacheSharedContext cctx,
GridAffinityAssignmentCache aff,
@@ -1754,7 +1762,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
/**
*
*/
- class WaitRebalanceInfo {
+ private class WaitRebalanceInfo {
/** */
private final AffinityTopologyVersion topVer;
http://git-wip-us.apache.org/repos/asf/ignite/blob/fb919d0f/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 07d1d4c..faafa84 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
@@ -1105,6 +1105,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
if (log.isDebugEnabled())
log.debug("Exchange done [topVer=" + topVer + ", fut=" + exchFut + ", err=" + err + ']');
+ log.info("Exchange done [topVer=" + topVer + ", err=" + err + ']');
+
IgniteProductVersion minVer = cctx.localNode().version();
IgniteProductVersion maxVer = cctx.localNode().version();
http://git-wip-us.apache.org/repos/asf/ignite/blob/fb919d0f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index f391265..f9fc097 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -92,6 +92,9 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
IgniteSystemProperties.getInteger(IgniteSystemProperties.IGNITE_DUMP_PENDING_OBJECTS_THRESHOLD, 10);
/** */
+ private static final boolean SKIP_FIRST_EXCHANGE_MSG = false;
+
+ /** */
private static final long serialVersionUID = 0L;
/** Dummy flag. */
@@ -431,6 +434,8 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
assert !dummy && !forcePreload : this;
try {
+ log.info("Start exchange init [topVer=" + topologyVersion() + ']');
+
srvNodes = new ArrayList<>(cctx.discovery().serverNodes(topologyVersion()));
remaining.addAll(F.nodeIds(F.view(srvNodes, F.remoteNodes(cctx.localNodeId()))));
@@ -495,7 +500,10 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
default:
assert false;
+
}
+
+ log.info("Finish exchange init [topVer=" + topologyVersion() + ']');
}
catch (IgniteInterruptedCheckedException e) {
onDone(e);
@@ -734,11 +742,45 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
}
if (crd.isLocal()) {
+ if (SKIP_FIRST_EXCHANGE_MSG && discoEvt.type() == EVT_NODE_JOINED && !discoEvt.eventNode().isLocal()) {
+ ClusterNode node = discoEvt.eventNode();
+
+ assert !CU.clientNode(node) : discoEvt;
+ assert srvNodes.contains(node);
+
+ boolean rmv = remaining.remove(node.id());
+ assert rmv;
+
+ List<String> caches = new ArrayList<>();
+
+ GridDhtPartitionsSingleMessage msg = new GridDhtPartitionsSingleMessage(exchangeId(),
+ false,
+ null,
+ false);
+
+ for (String cache : caches) {
+ Map<Integer, GridDhtPartitionState> m = new HashMap<>();
+
+ GridDhtPartitionMap2 partMap = new GridDhtPartitionMap2(node.id(), 0, topologyVersion(), m, true);
+
+ msg.addLocalPartitionMap(CU.cacheId(cache), partMap, null);
+ }
+
+ updatePartitionSingleMap(msg);
+ }
+
if (remaining.isEmpty())
onAllReceived(false);
}
- else
- sendPartitions(crd);
+ else {
+ boolean skipSnd = false;
+
+ if (SKIP_FIRST_EXCHANGE_MSG && discoEvt.type() == EVT_NODE_JOINED && discoEvt.eventNode().isLocal())
+ skipSnd = true;
+
+ if (!skipSnd)
+ sendPartitions(crd);
+ }
initDone();
}
@@ -1211,6 +1253,8 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
try {
assert crd.isLocal();
+ log.info("Coordinator exchange all received [topVer=" + topologyVersion() + ']');
+
if (!crd.equals(cctx.discovery().serverNodes(topologyVersion()).get(0))) {
for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
if (!cacheCtx.isLocal())
http://git-wip-us.apache.org/repos/asf/ignite/blob/fb919d0f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 03ed841..b0812fb 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -929,6 +929,8 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Discovery SPI has been connected to topology with order: " + locNode.internalOrder());
+
+ log.info("Node joined topology: " + locNode);
}
/**