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);
     }
 
     /**