ignite-724 Cluster doesn't start with daemon node and cache metrics enabled


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

Branch: refs/heads/ignite-721
Commit: 7bb7586b202ee2c6dec8db85e86d6f0c5d94025a
Parents: c3210d8
Author: Andrey Gura <ag...@gridgain.com>
Authored: Fri Apr 10 22:30:19 2015 +0300
Committer: Andrey Gura <ag...@gridgain.com>
Committed: Fri Apr 10 22:55:25 2015 +0300

----------------------------------------------------------------------
 .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java |  1 -
 .../discovery/tcp/internal/TcpDiscoveryNode.java  | 12 +++++++-----
 .../CacheMetricsForClusterGroupSelfTest.java      | 18 +++++++++++++++++-
 3 files changed, 24 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7bb7586b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 4b43fec..6cf6de8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -4330,7 +4330,6 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
         {
             assert nodeId != null;
             assert metrics != null;
-            assert cacheMetrics != null;
 
             TcpDiscoveryNode node = ring.node(nodeId);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7bb7586b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
index f5c1edb..bb8f051 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
@@ -128,8 +128,11 @@ public class TcpDiscoveryNode extends 
GridMetadataAwareAdapter implements Cluste
      * @param metricsProvider Metrics provider.
      * @param ver Version.
      */
-    public TcpDiscoveryNode(UUID id, Collection<String> addrs, 
Collection<String> hostNames, int discPort,
-                            DiscoveryMetricsProvider metricsProvider, 
IgniteProductVersion ver) {
+    public TcpDiscoveryNode(UUID id,
+        Collection<String> addrs,
+        Collection<String> hostNames, int discPort,
+        DiscoveryMetricsProvider metricsProvider, IgniteProductVersion ver)
+    {
         assert id != null;
         assert !F.isEmpty(addrs);
         assert metricsProvider != null;
@@ -145,6 +148,7 @@ public class TcpDiscoveryNode extends 
GridMetadataAwareAdapter implements Cluste
         consistentId = U.consistentId(addrs, discPort);
 
         metrics = metricsProvider.metrics();
+        cacheMetrics = metricsProvider.cacheMetrics();
         sockAddrs = U.toSocketAddresses(this, discPort);
     }
 
@@ -248,9 +252,7 @@ public class TcpDiscoveryNode extends 
GridMetadataAwareAdapter implements Cluste
      * @param cacheMetrics Cache metrics.
      */
     public void setCacheMetrics(Map<Integer, CacheMetrics> cacheMetrics) {
-        assert cacheMetrics != null;
-
-        this.cacheMetrics = cacheMetrics;
+        this.cacheMetrics = cacheMetrics != null ? cacheMetrics : 
Collections.<Integer, CacheMetrics>emptyMap();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7bb7586b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
index 19d7aab..1ba24e3 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
@@ -56,9 +56,25 @@ public class CacheMetricsForClusterGroupSelfTest extends 
GridCommonAbstractTest
     /** Cache 2. */
     private IgniteCache<Integer, Integer> cache2;
 
+    /** Daemon grid. */
+    private boolean daemon;
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        cfg.setDaemon(daemon);
+
+        return cfg;
+    }
+
     /** {@inheritDoc} */
     @Override protected void beforeTestsStarted() throws Exception {
         startGrids(GRID_CNT);
+
+        daemon = true;
+
+        startGrid(GRID_CNT);
     }
 
     /** {@inheritDoc} */
@@ -150,7 +166,7 @@ public class CacheMetricsForClusterGroupSelfTest extends 
GridCommonAbstractTest
      * Wait for {@link EventType#EVT_NODE_METRICS_UPDATED} event will be 
receieved.
      */
     private void awaitMetricsUpdate() throws InterruptedException {
-        final CountDownLatch latch = new CountDownLatch(GRID_CNT * 2);
+        final CountDownLatch latch = new CountDownLatch((GRID_CNT + 1) * 2);
 
         IgnitePredicate<Event> lsnr = new IgnitePredicate<Event>() {
             @Override public boolean apply(Event ignore) {

Reply via email to