You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2018/04/06 09:46:00 UTC

ignite git commit: IGNITE-8159 control.sh Fixed NPE on adding nodes on empty baseline.

Repository: ignite
Updated Branches:
  refs/heads/ignite-8159 [created] dcea8243a


IGNITE-8159 control.sh Fixed NPE on adding nodes on empty baseline.


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

Branch: refs/heads/ignite-8159
Commit: dcea8243a620bae202e535350e434d7a46fca72b
Parents: 4a0695c
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Fri Apr 6 16:45:46 2018 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Apr 6 16:45:46 2018 +0700

----------------------------------------------------------------------
 .../visor/baseline/VisorBaselineTask.java       | 24 +++++++++---------
 .../ignite/util/GridCommandHandlerTest.java     | 26 ++++++++++++++++++++
 2 files changed, 39 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/dcea8243/modules/core/src/main/java/org/apache/ignite/internal/visor/baseline/VisorBaselineTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/baseline/VisorBaselineTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/baseline/VisorBaselineTask.java
index 56c2dd9..721b4b3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/baseline/VisorBaselineTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/baseline/VisorBaselineTask.java
@@ -71,10 +71,10 @@ public class VisorBaselineTask extends VisorOneNodeTask<VisorBaselineTaskArg, Vi
 
             Collection<? extends BaselineNode> baseline = cluster.currentBaselineTopology();
 
-            Collection<? extends BaselineNode> servers = cluster.forServers().nodes();
+            Collection<? extends BaselineNode> srvrs = cluster.forServers().nodes();
 
-            return new VisorBaselineTaskResult(ignite.active(), cluster.topologyVersion(),
-                F.isEmpty(baseline) ? null : baseline, servers);
+            return new VisorBaselineTaskResult(ignite.cluster().active(), cluster.topologyVersion(),
+                F.isEmpty(baseline) ? null : baseline, srvrs);
         }
 
         /**
@@ -93,12 +93,14 @@ public class VisorBaselineTask extends VisorOneNodeTask<VisorBaselineTaskArg, Vi
          * @return Current baseline.
          */
         private Map<String, BaselineNode> currentBaseLine() {
-            Collection<BaselineNode> baseline = ignite.cluster().currentBaselineTopology();
-
             Map<String, BaselineNode> nodes = new HashMap<>();
 
-            for (BaselineNode node : baseline)
-                nodes.put(node.consistentId().toString(), node);
+            Collection<BaselineNode> baseline = ignite.cluster().currentBaselineTopology();
+
+            if (!F.isEmpty(baseline)) {
+                for (BaselineNode node : baseline)
+                    nodes.put(node.consistentId().toString(), node);
+            }
 
             return nodes;
         }
@@ -122,12 +124,12 @@ public class VisorBaselineTask extends VisorOneNodeTask<VisorBaselineTaskArg, Vi
          * @return New baseline.
          */
         private VisorBaselineTaskResult set(List<String> consistentIds) {
-            Map<String, BaselineNode> servers = currentServers();
+            Map<String, BaselineNode> srvrs = currentServers();
 
             Collection<BaselineNode> baselineTop = new ArrayList<>();
 
             for (String consistentId : consistentIds) {
-                BaselineNode node = servers.get(consistentId);
+                BaselineNode node = srvrs.get(consistentId);
 
                 if (node == null)
                     throw new IllegalStateException("Node not found for consistent ID: " + consistentId);
@@ -146,10 +148,10 @@ public class VisorBaselineTask extends VisorOneNodeTask<VisorBaselineTaskArg, Vi
          */
         private VisorBaselineTaskResult add(List<String> consistentIds) {
             Map<String, BaselineNode> baseline = currentBaseLine();
-            Map<String, BaselineNode> servers = currentServers();
+            Map<String, BaselineNode> srvrs = currentServers();
 
             for (String consistentId : consistentIds) {
-                BaselineNode node = servers.get(consistentId);
+                BaselineNode node = srvrs.get(consistentId);
 
                 if (node == null)
                     throw new IllegalStateException("Node not found for consistent ID: " + consistentId);

http://git-wip-us.apache.org/repos/asf/ignite/blob/dcea8243/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
index d5051d7..96a81bf 100644
--- a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
@@ -20,6 +20,7 @@ package org.apache.ignite.util;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.configuration.ConnectorConfiguration;
@@ -62,6 +63,11 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
     }
 
     /** {@inheritDoc} */
+    @Override public String getTestIgniteInstanceName() {
+        return "bltTest";
+    }
+
+    /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
 
@@ -76,6 +82,8 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
         dsCfg.setWalMode(WALMode.LOG_ONLY);
         dsCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(true);
 
+        cfg.setConsistentId(igniteInstanceName);
+
         return cfg;
     }
 
@@ -206,6 +214,24 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
     }
 
     /**
+     * Test baseline add items works via control.sh
+     *
+     * @throws Exception If failed.
+     */
+    public void testBaselineAddOnNotActiveCluster() throws Exception {
+        Ignite ignite = startGrid(1);
+
+        assertFalse(ignite.cluster().active());
+
+        String consistentIDs =
+            getTestIgniteInstanceName(1) + ", " +
+            getTestIgniteInstanceName(2) + "," +
+            getTestIgniteInstanceName(3);
+
+        assertEquals(EXIT_CODE_UNEXPECTED_ERROR, execute("--baseline", "add", consistentIDs));
+    }
+
+    /**
      * Test baseline remove works via control.sh
      *
      * @throws Exception If failed.