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.