diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2018-02-13 16:03:19 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2018-02-15 15:59:01 +0100 |
commit | 9eb3cc5c77b8f24f55225ffe788c1c8e2335f3d7 (patch) | |
tree | 56a3c1e9a18f0415ee1f79f2c6722a75e015807d /node-admin | |
parent | ff8eab557d523981add40e4ff642c06bb3524016 (diff) |
Remove unnecessary throw and null checks
Diffstat (limited to 'node-admin')
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"; |