summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-05-24 19:52:57 +0200
committerJon Bratseth <bratseth@gmail.com>2021-05-24 19:52:57 +0200
commit15f7d366cd7e4d35dc62f01d8c8bcc59e11786c4 (patch)
tree58498baf393a3f7f995fade282f8e4976945a0d3 /config-model
parentd1913b7446936ebd3d1699ed03f8ad7433bc5014 (diff)
Check flush explicitly
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java2
3 files changed, 7 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java b/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
index 6d4da3d995c..8dea1b65079 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
@@ -102,14 +102,15 @@ public abstract class AbstractService extends AbstractConfigProducer<AbstractCon
/**
* Only used for testing. Stay away.
- * @param name Name of this service.
+ *
+ * @param name the name of this service.
*/
public AbstractService(String name) {
super(name);
}
@Override
- protected void remove() {
+ public void remove() {
super.remove();
if (hostResource != null)
hostResource.deallocateService(this);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java b/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java
index 38b668f121e..b6a9d2bf97a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java
@@ -39,6 +39,7 @@ public class HostPorts {
private PortFinder portFinder = new PortFinder(Collections.emptyList());
+ private boolean flushed = false;
private Optional<NetworkPorts> networkPortsList = Optional.empty();
public HostPorts(String hostname) {
@@ -147,7 +148,7 @@ public class HostPorts {
}
void deallocatePorts(NetworkPortRequestor service) {
- if (networkPortsList.isPresent())
+ if (flushed)
throw new IllegalStateException("Cannot deallocate ports after calling flushPortReservations()");
portDB.entrySet().removeIf(entry -> entry.getValue().getServiceName().equals(service.getServiceName()));
allocatedPorts--;
@@ -155,6 +156,7 @@ public class HostPorts {
public void flushPortReservations() {
this.networkPortsList = Optional.of(new NetworkPorts(portFinder.allocations()));
+ this.flushed = true;
}
/**
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
index d78a69b4802..d90a6614501 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
@@ -185,7 +185,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
deployState.getProperties());
HostSystem hostSystem = root.hostSystem();
- if (complete) { // create a a completed, frozen model
+ if (complete) { // create a completed, frozen model
configModelRepo.readConfigModels(deployState, this, builder, root, configModelRegistry);
addServiceClusters(deployState, builder);
setupRouting(deployState);