summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-11-26 14:22:34 +0100
committerMartin Polden <mpolden@mpolden.no>2021-11-26 14:22:34 +0100
commite7f7f093676628e766d96564b69c11e4fc5f4553 (patch)
tree426faef673f95f130cebe6ba7719aef52745882d /controller-server
parentf09dd864789053767d31549cd9d0804514eebe6b (diff)
Remove ineffectual and unnecessary optional wrapping
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java30
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepository.java9
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java7
3 files changed, 22 insertions, 24 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java
index 1e3573091f2..6ef0df9f099 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java
@@ -274,22 +274,20 @@ public class RoutingController {
}
// Register names in DNS
- Optional<Rotation> rotation = rotationRepository.getRotation(assignedRotation.rotationId());
- if (rotation.isPresent()) {
- for (var endpoint : rotationEndpoints) {
- controller.nameServiceForwarder().createCname(RecordName.from(endpoint.dnsName()),
- RecordData.fqdn(rotation.get().name()),
- Priority.normal);
- List<String> names = List.of(endpoint.dnsName(),
- // Include rotation ID as a valid name of this container endpoint
- // (required by global routing health checks)
- assignedRotation.rotationId().asString());
- containerEndpoints.add(new ContainerEndpoint(assignedRotation.clusterId().value(),
- asString(Endpoint.Scope.global),
- names,
- OptionalInt.empty(),
- endpoint.routingMethod()));
- }
+ Rotation rotation = rotationRepository.requireRotation(assignedRotation.rotationId());
+ for (var endpoint : rotationEndpoints) {
+ controller.nameServiceForwarder().createCname(RecordName.from(endpoint.dnsName()),
+ RecordData.fqdn(rotation.name()),
+ Priority.normal);
+ List<String> names = List.of(endpoint.dnsName(),
+ // Include rotation ID as a valid name of this container endpoint
+ // (required by global routing health checks)
+ assignedRotation.rotationId().asString());
+ containerEndpoints.add(new ContainerEndpoint(assignedRotation.clusterId().value(),
+ asString(Endpoint.Scope.global),
+ names,
+ OptionalInt.empty(),
+ endpoint.routingMethod()));
}
}
// Add endpoints not backed by a rotation (i.e. other routing methods so that the config server always knows
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepository.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepository.java
index 961fdc6dd9c..39a0b6a8858 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepository.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepository.java
@@ -21,7 +21,6 @@ import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
import java.util.logging.Logger;
@@ -56,9 +55,11 @@ public class RotationRepository {
return new RotationLock(curator.lockRotations());
}
- /** Get rotation by given rotationId */
- public Optional<Rotation> getRotation(RotationId rotationId) {
- return Optional.of(allRotations.get(rotationId));
+ /** Get rotation with given id */
+ public Rotation requireRotation(RotationId id) {
+ Rotation rotation = allRotations.get(id);
+ if (rotation == null) throw new IllegalArgumentException("No such rotation: '" + id.asString() + "'");
+ return rotation;
}
/**
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java
index 9a3ac8b547d..9a56123e8e3 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/rotation/RotationRepositoryTest.java
@@ -205,10 +205,9 @@ public class RotationRepositoryTest {
private void assertSingleRotation(Rotation expected, List<AssignedRotation> assignedRotations, RotationRepository repository) {
assertEquals(1, assignedRotations.size());
- var rotationId = assignedRotations.get(0).rotationId();
- var rotation = repository.getRotation(rotationId);
- assertTrue(rotationId + " exists", rotation.isPresent());
- assertEquals(expected, rotation.get());
+ RotationId rotationId = assignedRotations.get(0).rotationId();
+ Rotation rotation = repository.requireRotation(rotationId);
+ assertEquals(expected, rotation);
}
private static List<RotationId> rotationIds(List<AssignedRotation> assignedRotations) {