aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-02-13 16:03:19 +0100
committerValerij Fredriksen <valerijf@oath.com>2018-02-15 15:59:01 +0100
commit9eb3cc5c77b8f24f55225ffe788c1c8e2335f3d7 (patch)
tree56a3c1e9a18f0415ee1f79f2c6722a75e015807d /node-admin
parentff8eab557d523981add40e4ff642c06bb3524016 (diff)
Remove unnecessary throw and null checks
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImpl.java30
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepository.java3
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImpl.java40
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java3
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImplTest.java7
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java2
6 files changed, 30 insertions, 55 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImpl.java
index cdc7c9badaf..6db72f7bdf2 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImpl.java
@@ -16,7 +16,6 @@ import com.yahoo.vespa.hosted.node.admin.provider.NodeAdminStateUpdater;
import com.yahoo.vespa.hosted.node.admin.util.HttpException;
import com.yahoo.vespa.hosted.provision.Node;
-import java.io.IOException;
import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
@@ -269,35 +268,22 @@ public class NodeAdminStateUpdaterImpl implements NodeAdminStateUpdater {
log.info("Frozen, skipping fetching info from node repository");
return;
}
- final List<ContainerNodeSpec> containersToRun;
- try {
- containersToRun = nodeRepository.getContainersToRun(dockerHostHostName);
- } catch (Exception e) {
- log.log(LogLevel.WARNING, "Failed fetching container info from node repository", e);
- return;
- }
- if (containersToRun == null) {
- log.warning("Got null from node repository");
- return;
- }
+
try {
+ final List<ContainerNodeSpec> containersToRun = nodeRepository.getContainersToRun(dockerHostHostName);
nodeAdmin.refreshContainersToRun(containersToRun);
} catch (Exception e) {
- log.log(LogLevel.WARNING, "Failed updating node admin: ", e);
+ log.log(LogLevel.WARNING, "Failed to update which containers should be running", e);
}
}
}
private List<String> getNodesInActiveState() {
- try {
- return nodeRepository.getContainersToRun(dockerHostHostName)
- .stream()
- .filter(nodespec -> nodespec.nodeState == Node.State.active)
- .map(nodespec -> nodespec.hostname)
- .collect(Collectors.toList());
- } catch (IOException e) {
- throw new RuntimeException("Failed to get nodes from node repo", e);
- }
+ return nodeRepository.getContainersToRun(dockerHostHostName)
+ .stream()
+ .filter(nodespec -> nodespec.nodeState == Node.State.active)
+ .map(nodespec -> nodespec.hostname)
+ .collect(Collectors.toList());
}
public void start() {
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepository.java
index 9f4c6916b48..be48eec9b2d 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepository.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepository.java
@@ -5,7 +5,6 @@ import com.yahoo.vespa.hosted.node.admin.ContainerAclSpec;
import com.yahoo.vespa.hosted.node.admin.ContainerNodeSpec;
import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAttributes;
-import java.io.IOException;
import java.util.List;
import java.util.Optional;
@@ -13,7 +12,7 @@ import java.util.Optional;
* @author stiankri
*/
public interface NodeRepository {
- List<ContainerNodeSpec> getContainersToRun(String baseHostName) throws IOException;
+ List<ContainerNodeSpec> getContainersToRun(String baseHostName);
Optional<ContainerNodeSpec> getContainerNodeSpec(String hostName);
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImpl.java
index ab7332ca556..c94f2a0ac1c 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImpl.java
@@ -16,7 +16,6 @@ import com.yahoo.vespa.hosted.node.admin.util.HttpException;
import com.yahoo.vespa.hosted.node.admin.util.PrefixLogger;
import com.yahoo.vespa.hosted.provision.Node;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -37,31 +36,24 @@ public class NodeRepositoryImpl implements NodeRepository {
}
@Override
- public List<ContainerNodeSpec> getContainersToRun(String baseHostName) throws IOException {
- try {
- final GetNodesResponse nodesForHost = requestExecutor.get(
- "/nodes/v2/node/?parentHost=" + baseHostName + "&recursive=true",
- GetNodesResponse.class);
-
- if (nodesForHost.nodes == null) {
- throw new IOException("Response didn't contain nodes element");
- }
- List<ContainerNodeSpec> nodes = new ArrayList<>(nodesForHost.nodes.size());
- for (GetNodesResponse.Node node : nodesForHost.nodes) {
- ContainerNodeSpec nodeSpec;
- try {
- nodeSpec = createContainerNodeSpec(node);
- } catch (IllegalArgumentException | NullPointerException e) {
- NODE_ADMIN_LOGGER.warning("Bad node received from node repo when requesting children of the "
- + baseHostName + " host: " + node, e);
- continue;
- }
- nodes.add(nodeSpec);
+ public List<ContainerNodeSpec> getContainersToRun(String baseHostName) {
+ final GetNodesResponse nodesForHost = requestExecutor.get(
+ "/nodes/v2/node/?parentHost=" + baseHostName + "&recursive=true",
+ GetNodesResponse.class);
+
+ List<ContainerNodeSpec> nodes = new ArrayList<>(nodesForHost.nodes.size());
+ for (GetNodesResponse.Node node : nodesForHost.nodes) {
+ ContainerNodeSpec nodeSpec;
+ try {
+ nodeSpec = createContainerNodeSpec(node);
+ } catch (IllegalArgumentException | NullPointerException e) {
+ NODE_ADMIN_LOGGER.warning("Bad node received from node repo when requesting children of the "
+ + baseHostName + " host: " + node, e);
+ continue;
}
- return nodes;
- } catch (Exception e) {
- throw new IOException(e);
+ nodes.add(nodeSpec);
}
+ return nodes;
}
@Override
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java
index 2d2a622f8f0..6bb970a7965 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/NodeRepoMock.java
@@ -7,7 +7,6 @@ import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAttributes;
import com.yahoo.vespa.hosted.node.admin.noderepository.NodeRepository;
import com.yahoo.vespa.hosted.provision.Node;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -32,7 +31,7 @@ public class NodeRepoMock implements NodeRepository {
}
@Override
- public List<ContainerNodeSpec> getContainersToRun(String dockerHostHostname) throws IOException {
+ public List<ContainerNodeSpec> getContainersToRun(String dockerHostHostname) {
synchronized (monitor) {
return new ArrayList<>(containerNodeSpecsByHostname.values());
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImplTest.java
index 1ab24fe8f9a..ee34da99361 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImplTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterImplTest.java
@@ -11,7 +11,6 @@ import com.yahoo.vespa.hosted.node.admin.provider.NodeAdminStateUpdater;
import com.yahoo.vespa.hosted.provision.Node;
import org.junit.Test;
-import java.io.IOException;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
@@ -53,7 +52,7 @@ public class NodeAdminStateUpdaterImplTest {
@Test
- public void testStateConvergence() throws IOException {
+ public void testStateConvergence() {
mockNodeRepo(4);
List<String> activeHostnames = nodeRepository.getContainersToRun(parentHostname).stream()
.map(node -> node.hostname)
@@ -155,7 +154,7 @@ public class NodeAdminStateUpdaterImplTest {
}
@Test
- public void half_transition_revert() throws IOException {
+ public void half_transition_revert() {
mockNodeRepo(3);
// Initially everything is frozen to force convergence
@@ -182,7 +181,7 @@ public class NodeAdminStateUpdaterImplTest {
verify(nodeAdmin, times(2)).setFrozen(eq(false)); // Make sure that we unfreeze!
}
- private void mockNodeRepo(int numberOfNodes) throws IOException {
+ private void mockNodeRepo(int numberOfNodes) {
List<ContainerNodeSpec> containersToRun = IntStream.range(0, numberOfNodes)
.mapToObj(i -> new ContainerNodeSpec.Builder()
.hostname("host" + i + ".test.yahoo.com")
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java
index 949b4ccdf78..43574816b70 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/noderepository/NodeRepositoryImplTest.java
@@ -95,7 +95,7 @@ public class NodeRepositoryImplTest {
}
@Test
- public void testGetContainersToRunApi() throws IOException, InterruptedException {
+ public void testGetContainersToRunApi() throws InterruptedException {
waitForJdiscContainerToServe();
NodeRepository nodeRepositoryApi = new NodeRepositoryImpl(requestExecutor);
String dockerHostHostname = "dockerhost1.yahoo.com";