diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-08-21 11:40:31 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-08-22 12:43:02 +0200 |
commit | c6a86853808d5b350c02c71486e164b4c1cf0b63 (patch) | |
tree | d50a8166348fc63097aa88674d9a69d972a68095 /controller-server | |
parent | d4381443417cd250c9037de5130eaa4dd0045929 (diff) |
Remove unnecessary getter
Diffstat (limited to 'controller-server')
9 files changed, 51 insertions, 55 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java index bc35b109a76..d5547130438 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java @@ -10,9 +10,9 @@ import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.zone.ZoneId; -import com.yahoo.vespa.hosted.controller.api.integration.metrics.MetricsService.ApplicationMetrics; import com.yahoo.vespa.hosted.controller.api.integration.certificates.ApplicationCertificate; import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion; +import com.yahoo.vespa.hosted.controller.api.integration.metrics.MetricsService.ApplicationMetrics; import com.yahoo.vespa.hosted.controller.api.integration.organization.IssueId; import com.yahoo.vespa.hosted.controller.api.integration.organization.User; import com.yahoo.vespa.hosted.controller.application.ApplicationActivity; @@ -23,7 +23,6 @@ import com.yahoo.vespa.hosted.controller.application.DeploymentJobs; import com.yahoo.vespa.hosted.controller.application.EndpointId; import com.yahoo.vespa.hosted.controller.application.EndpointList; import com.yahoo.vespa.hosted.controller.application.RotationStatus; -import com.yahoo.vespa.hosted.controller.rotation.RotationId; import java.time.Instant; import java.util.Collections; @@ -200,15 +199,8 @@ public class Application { .min(Comparator.naturalOrder()); } - /** Returns all rotations for this application */ - public List<RotationId> rotations() { - return rotations.stream() - .map(AssignedRotation::rotationId) - .collect(Collectors.toList()); - } - - /** Returns all assigned rotations for this application */ - public List<AssignedRotation> assignedRotations() { + /** Returns all rotations assigned to this */ + public List<AssignedRotation> rotations() { return rotations; } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java index 9b9c96ee98f..f9315812123 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java @@ -346,9 +346,9 @@ public class ApplicationController { // Include global DNS names Application app = application.get(); - app.assignedRotations().stream() - .filter(assignedRotation -> assignedRotation.regions().contains(zone.region())) - .map(assignedRotation -> { + app.rotations().stream() + .filter(assignedRotation -> assignedRotation.regions().contains(zone.region())) + .map(assignedRotation -> { return new ContainerEndpoint( assignedRotation.clusterId().value(), Stream.concat( @@ -357,14 +357,17 @@ public class ApplicationController { ).collect(Collectors.toList()) ); }) - .forEach(endpoints::add); + .forEach(endpoints::add); } else { application = withRotationLegacy(application, zone); // Add both the names we have in DNS for each endpoint as well as name of the rotation so healthchecks works Application app = application.get(); app.endpointsIn(controller.system()).asList().stream().map(Endpoint::dnsName).forEach(legacyRotations::add); - app.rotations().stream().map(RotationId::asString).forEach(legacyRotations::add); + app.rotations().stream() + .map(AssignedRotation::rotationId) + .map(RotationId::asString) + .forEach(legacyRotations::add); } // Get application certificate (provisions a new certificate if missing) @@ -525,7 +528,7 @@ public class ApplicationController { } private void registerAssignedRotationCnames(Application application) { - application.assignedRotations().forEach(assignedRotation -> { + application.rotations().forEach(assignedRotation -> { var endpoints = application.endpointsIn(controller.system(), assignedRotation.endpointId()) .scope(Endpoint.Scope.global); var maybeRotation = rotationRepository.getRotation(assignedRotation.rotationId()); @@ -693,7 +696,7 @@ public class ApplicationController { applicationStore.removeAll(id); applicationStore.removeAll(TesterId.of(id)); - application.get().assignedRotations().forEach(assignedRotation -> { + application.get().rotations().forEach(assignedRotation -> { var endpoints = application.get().endpointsIn(controller.system(), assignedRotation.endpointId()); endpoints.asList().stream() .map(Endpoint::dnsName) diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java index c7607a7a422..e8cb6621c13 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/LockedApplication.java @@ -73,7 +73,7 @@ public class LockedApplication { application.deployments(), application.deploymentJobs(), application.change(), application.outstandingChange(), application.ownershipIssueId(), application.owner(), application.majorVersion(), application.metrics(), - application.pemDeployKey(), application.assignedRotations(), application.rotationStatus(), application.applicationCertificate()); + application.pemDeployKey(), application.rotations(), application.rotationStatus(), application.applicationCertificate()); } private LockedApplication(Lock lock, ApplicationId id, Instant createdAt, diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java index db959548862..a4b7da2cd50 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java @@ -176,7 +176,7 @@ public class ApplicationSerializer { root.setDouble(queryQualityField, application.metrics().queryServiceQuality()); root.setDouble(writeQualityField, application.metrics().writeServiceQuality()); application.pemDeployKey().ifPresent(pemDeployKey -> root.setString(pemDeployKeyField, pemDeployKey)); - assignedRotationsToSlime(application.assignedRotations(), root, assignedRotationsField); + assignedRotationsToSlime(application.rotations(), root, assignedRotationsField); toSlime(application.rotationStatus(), root.setArray(rotationStatusField)); application.applicationCertificate().ifPresent(cert -> root.setString(applicationCertificateField, cert.secretsKeyNamePrefix())); return slime; diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java index 409a93a8f2d..f29ed8a49f0 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java @@ -50,6 +50,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceAlloca import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceSnapshot; import com.yahoo.vespa.hosted.controller.api.integration.routing.RoutingEndpoint; import com.yahoo.vespa.hosted.controller.application.ApplicationPackage; +import com.yahoo.vespa.hosted.controller.application.AssignedRotation; import com.yahoo.vespa.hosted.controller.application.Change; import com.yahoo.vespa.hosted.controller.application.ClusterCost; import com.yahoo.vespa.hosted.controller.application.ClusterUtilization; @@ -527,8 +528,10 @@ public class ApplicationApiHandler extends LoggingRequestHandler { .map(URI::toString) .forEach(globalRotationsArray::addString); - - application.rotations().stream().findFirst().ifPresent(rotation -> object.setString("rotationId", rotation.asString())); + application.rotations().stream() + .map(AssignedRotation::rotationId) + .findFirst() + .ifPresent(rotation -> object.setString("rotationId", rotation.asString())); // Per-cluster rotations Set<RoutingPolicy> routingPolicies = controller.applications().routingPolicies().get(application.id()); @@ -547,7 +550,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler { for (Deployment deployment : deployments) { Cursor deploymentObject = instancesArray.addObject(); - if ((! application.rotations().isEmpty()) && deployment.zone().environment() == Environment.prod) { + if (!application.rotations().isEmpty() && deployment.zone().environment() == Environment.prod) { toSlime(application.rotationStatus(deployment), deploymentObject); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java index f2bc50ec445..75044328d5f 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java @@ -1,9 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.rotation; -import com.yahoo.collections.Pair; import com.yahoo.config.application.api.Endpoint; -import com.yahoo.config.model.api.ContainerEndpoint; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.RegionName; @@ -20,7 +18,6 @@ import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.function.Function; @@ -59,7 +56,10 @@ public class RotationRepository { /** Get rotation for given application */ public Optional<Rotation> getRotation(Application application) { - return application.rotations().stream().map(allRotations::get).findFirst(); + return application.rotations().stream() + .map(AssignedRotation::rotationId) + .map(allRotations::get) + .findFirst(); } /** Get rotation for the given rotationId */ @@ -78,7 +78,7 @@ public class RotationRepository { */ public Rotation getOrAssignRotation(Application application, RotationLock lock) { if (! application.rotations().isEmpty()) { - return allRotations.get(application.rotations().get(0)); + return allRotations.get(application.rotations().get(0).rotationId()); } if (application.deploymentSpec().globalServiceId().isEmpty()) { throw new IllegalArgumentException("global-service-id is not set in deployment spec"); @@ -191,15 +191,17 @@ public class RotationRepository { ); }; - return application.assignedRotations().stream() - .collect( - Collectors.toMap( - AssignedRotation::endpointId, - assignedRotationWithConfiguredRegions, - (a, b) -> { throw new IllegalStateException("Duplicate entries: " + a + ", " + b); }, - LinkedHashMap::new - ) - ); + return application.rotations().stream() + .collect( + Collectors.toMap( + AssignedRotation::endpointId, + assignedRotationWithConfiguredRegions, + (a, b) -> { + throw new IllegalStateException("Duplicate entries: " + a + ", " + b); + }, + LinkedHashMap::new + ) + ); } /** @@ -210,6 +212,7 @@ public class RotationRepository { List<RotationId> assignedRotations = applications.asList().stream() .filter(application -> ! application.rotations().isEmpty()) .flatMap(application -> application.rotations().stream()) + .map(AssignedRotation::rotationId) .collect(Collectors.toList()); Map<RotationId, Rotation> unassignedRotations = new LinkedHashMap<>(this.allRotations); assignedRotations.forEach(unassignedRotations::remove); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java index 998589dc23c..a8e51f7622a 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java @@ -452,7 +452,7 @@ public class ControllerTest { tester.configServer().rotationNames().get(new DeploymentId(application.id(), ZoneId.from("prod", "us-central-1"))) ); - assertEquals(Set.of(RegionName.from("us-west-1")), tester.application(application.id()).assignedRotations().get(0).regions()); + assertEquals(Set.of(RegionName.from("us-west-1")), tester.application(application.id()).rotations().get(0).regions()); } @Test @@ -481,7 +481,7 @@ public class ControllerTest { assertEquals( List.of(AssignedRotation.fromStrings("qrs", "default", "rotation-id-01", Set.of())), - tester.application(application.id()).assignedRotations() + tester.application(application.id()).rotations() ); assertEquals( @@ -570,7 +570,7 @@ public class ControllerTest { .build(); tester.deployCompletely(app1, applicationPackage); app1 = tester.applications().require(app1.id()); - assertEquals("rotation-id-02", app1.rotations().get(0).asString()); + assertEquals("rotation-id-02", app1.rotations().get(0).rotationId().asString()); // DNS records are created for the newly assigned rotation assertEquals(2, tester.controllerTester().nameService().records().size()); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java index ac7dba2b110..85c87ec5fe2 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java @@ -274,21 +274,11 @@ public class ApplicationSerializerTest { // Parse and test the output from parsing contains both legacy rotation and multiple rotations final var application = applicationSerializer.fromSlime(slime); - - assertEquals( - List.of( - new RotationId("assigned-rotation") - ), - application.rotations() - ); - - assertEquals(new RotationId("assigned-rotation"), application.rotations().get(0)); - assertEquals( List.of( new AssignedRotation(new ClusterSpec.Id("foobar"), EndpointId.of("nice-endpoint"), new RotationId("assigned-rotation"), Set.of()) ), - application.assignedRotations() + application.rotations() ); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java index 8f02fa74c6e..4e93922784e 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java @@ -5,6 +5,7 @@ import com.yahoo.config.provision.SystemName; import com.yahoo.vespa.hosted.controller.Application; import com.yahoo.vespa.hosted.controller.ControllerTester; import com.yahoo.vespa.hosted.controller.application.ApplicationPackage; +import com.yahoo.vespa.hosted.controller.application.AssignedRotation; import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder; import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester; import com.yahoo.vespa.hosted.rotation.config.RotationsConfig; @@ -15,6 +16,7 @@ import org.junit.rules.ExpectedException; import java.net.URI; import java.util.List; +import java.util.stream.Collectors; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -64,7 +66,7 @@ public class RotationRepositoryTest { Rotation expected = new Rotation(new RotationId("foo-1"), "foo-1.com"); application = tester.applications().require(application.id()); - assertEquals(List.of(expected.id()), application.rotations()); + assertEquals(List.of(expected.id()), rotationIds(application.rotations())); assertEquals(URI.create("https://app1--tenant1.global.vespa.oath.cloud:4443/"), application.endpointsIn(SystemName.main).main().get().url()); try (RotationLock lock = repository.lock()) { @@ -80,7 +82,7 @@ public class RotationRepositoryTest { .searchDefinition("search foo { }") // Update application package so there is something to deploy .build(); tester.deployCompletely(application, applicationPackage, 43); - assertEquals(List.of(expected.id()), tester.applications().require(application.id()).rotations()); + assertEquals(List.of(expected.id()), rotationIds(tester.applications().require(application.id()).rotations())); } @Test @@ -99,7 +101,6 @@ public class RotationRepositoryTest { } } - @Test public void out_of_rotations() { // Assigns 1 rotation @@ -152,9 +153,13 @@ public class RotationRepositoryTest { Application application = tester.createApplication("app2", "tenant2", 22L, 2L); tester.deployCompletely(application, applicationPackage); - assertEquals(List.of(new RotationId("foo-1")), tester.applications().require(application.id()).rotations()); + assertEquals(List.of(new RotationId("foo-1")), rotationIds(tester.applications().require(application.id()).rotations())); assertEquals("https://cd--app2--tenant2.global.vespa.oath.cloud:4443/", tester.applications().require(application.id()) .endpointsIn(SystemName.cd).main().get().url().toString()); } + private static List<RotationId> rotationIds(List<AssignedRotation> assignedRotations) { + return assignedRotations.stream().map(AssignedRotation::rotationId).collect(Collectors.toUnmodifiableList()); + } + } |