diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2019-07-31 10:20:53 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2019-08-01 09:14:46 +0000 |
commit | 710abe85cec5bab9c48536a48d0aec768c7eae06 (patch) | |
tree | b3397727912f5fd2be004a88bae86e1ba7ba246f /config-model | |
parent | c27b7f877b7727bbab1a314fe798df8a66732f0a (diff) |
switch to direct allocation of network ports
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/HostPorts.java | 31 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/container/Container.java | 10 |
2 files changed, 3 insertions, 38 deletions
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 69b692e3ad9..5f55c78c1e4 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 @@ -137,34 +137,9 @@ public class HostPorts { /** Allocate all ports for a service */ List<Integer> allocatePorts(NetworkPortRequestor service, int wantedPort) { - List<Integer> ports = new ArrayList<>(); - final int count = service.getPortCount(); - if (count < 1) - return ports; - - String[] suffixes = service.getPortSuffixes(); - if (suffixes.length != count) { - throw new IllegalArgumentException("service "+service+" had "+suffixes.length+" port suffixes, but port count "+count+", mismatch"); - } - - if (wantedPort > 0) { - boolean force = service.requiresWantedPort(); - if (service.requiresConsecutivePorts()) { - for (int i = 0; i < count; i++) { - ports.add(wantNetworkPort(wantedPort+i, service, suffixes[i], force)); - } - } else { - ports.add(wantNetworkPort(wantedPort, service, suffixes[0], force)); - for (int i = 1; i < count; i++) { - ports.add(allocateNetworkPort(service, suffixes[i])); - } - } - } else { - for (int i = 0; i < count; i++) { - ports.add(allocateNetworkPort(service, suffixes[i])); - } - } - return ports; + PortAllocBridge allocator = new PortAllocBridge(this, service); + service.allocatePorts(wantedPort, allocator); + return allocator.result(); } public void flushPortReservations() { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java index 12c72cecd14..09bc8028fd9 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java @@ -158,8 +158,6 @@ public abstract class Container extends AbstractService implements if (getHttp() == null) { initDefaultJettyConnector(); - } else { - reserveHttpPortsPrepended(); } tagServers(); @@ -182,14 +180,6 @@ public abstract class Container extends AbstractService implements } } - private void reserveHttpPortsPrepended() { - if (getHttp() != null && getHttp().getHttpServer() != null) { - for (ConnectorFactory connectorFactory : getHttp().getHttpServer().getConnectorFactories()) { - reservePortPrepended(getPort(connectorFactory), "http/" + connectorFactory.getName()); - } - } - } - private int getPort(ConnectorFactory connectorFactory) { return connectorFactory.getListenPort(); } |