diff options
author | Harald Musum <musum@yahooinc.com> | 2023-02-10 10:50:58 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-02-10 10:50:58 +0100 |
commit | 8d8b273fdce76ac0bb01ffa1dc5b4e0957261372 (patch) | |
tree | 2a247f6e5c44af0e7d786ba256078d7e10e83bcc /configserver/src | |
parent | 6ff34fa24a55630e61ca56b0cd0c299ed0f5bb53 (diff) |
No need for generics for HostValidator anymore
Diffstat (limited to 'configserver/src')
5 files changed, 19 insertions, 24 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java index 2a0d62a1c9a..cf6edc48f1d 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java @@ -57,7 +57,7 @@ import static java.util.stream.Collectors.toSet; * @author Ulf Lilleengen * @author jonmv */ -public class TenantApplications implements RequestHandler, HostValidator<ApplicationId> { +public class TenantApplications implements RequestHandler, HostValidator { private static final Logger log = Logger.getLogger(TenantApplications.class.getName()); @@ -402,9 +402,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica configActivationListener.verifyHostsAreAvailable(applicationId, newHosts); } - public HostValidator<ApplicationId> getHostValidator() { - return this; - } + public HostValidator getHostValidator() { return this; } public ApplicationId getApplicationIdForHostName(String hostname) { return hostRegistry.getKeyForHost(hostname); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostRegistry.java index 5c161a5f746..b89f3bba835 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostRegistry.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostRegistry.java @@ -1,27 +1,25 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.host; +import com.google.common.collect.Collections2; +import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.TenantName; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; -import com.google.common.collect.Collections2; -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.TenantName; - -import java.util.logging.Level; - /** * A host registry with a mapping between hosts (hostname as a String) and some type T * TODO: Maybe we should have a Host type, but using String for now. * * @author Ulf Lilleengen */ -public class HostRegistry implements HostValidator<ApplicationId> { +public class HostRegistry implements HostValidator { private static final Logger log = Logger.getLogger(HostRegistry.class.getName()); @@ -43,10 +41,10 @@ public class HostRegistry implements HostValidator<ApplicationId> { } @Override - public synchronized void verifyHosts(ApplicationId key, Collection<String> newHosts) { + public synchronized void verifyHosts(ApplicationId applicationId, Collection<String> newHosts) { for (String host : newHosts) { - if (hostAlreadyTaken(host, key)) { - throw new IllegalArgumentException("'" + key + "' tried to allocate host '" + host + + if (hostAlreadyTaken(host, applicationId)) { + throw new IllegalArgumentException("'" + applicationId + "' tried to allocate host '" + host + "', but the host is already taken by '" + host2KeyMap.get(host) + "'"); } } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostValidator.java b/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostValidator.java index 0d3cbb3860b..115d135b0c1 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostValidator.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/host/HostValidator.java @@ -1,16 +1,16 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.host; +import com.yahoo.config.provision.ApplicationId; import java.util.Collection; /** - * A read only host registry that has mappings from a host to some type T. - * strings. + * A read only host registry that has mappings from a host to application id * * @author Ulf Lilleengen */ -public interface HostValidator<T> { +public interface HostValidator { - void verifyHosts(T key, Collection<String> newHosts); + void verifyHosts(ApplicationId applicationId, Collection<String> newHosts); } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java index 18f33224d83..1bfa94a1355 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java @@ -45,7 +45,6 @@ import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; /** * @author bratseth @@ -59,7 +58,7 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P private final List<ContainerEndpoint> containerEndpoints; private final Optional<EndpointCertificateSecrets> endpointCertificateSecrets; private final ConfigDefinitionRepo configDefinitionRepo; - private final HostValidator<ApplicationId> hostValidator; + private final HostValidator hostValidator; private final PrepareParams params; private final FileRegistry fileRegistry; private final Optional<ApplicationSet> currentActiveApplicationSet; @@ -76,7 +75,7 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P ExecutorService executor, HostProvisionerProvider hostProvisionerProvider, Curator curator, - HostValidator<ApplicationId> hostValidator, + HostValidator hostValidator, DeployLogger deployLogger, PrepareParams params, Optional<ApplicationSet> currentActiveApplicationSet, @@ -171,7 +170,7 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P } } - private void validateModelHosts(HostValidator<ApplicationId> hostValidator, ApplicationId applicationId, Model model) { + private void validateModelHosts(HostValidator hostValidator, ApplicationId applicationId, Model model) { // Will retry here, since hosts used might not be in sync on all config servers (we wait for 2/3 servers // to respond to deployments and deletions). Instant end = Instant.now().plus(Duration.ofSeconds(1)); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java index 17a019067a3..ffafbb8827e 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java @@ -126,7 +126,7 @@ public class SessionPreparer { * @param activeApplicationSet set of currently active applications. * @return the config change actions that must be done to handle the activation of the models prepared. */ - public PrepareResult prepare(HostValidator<ApplicationId> hostValidator, DeployLogger logger, PrepareParams params, + public PrepareResult prepare(HostValidator hostValidator, DeployLogger logger, PrepareParams params, Optional<ApplicationSet> activeApplicationSet, Instant now, File serverDbSessionDir, ApplicationPackage applicationPackage, SessionZooKeeperClient sessionZooKeeperClient) { ApplicationId applicationId = params.getApplicationId(); @@ -181,7 +181,7 @@ public class SessionPreparer { private final PreparedModelsBuilder preparedModelsBuilder; private final FileRegistry fileRegistry; - Preparation(HostValidator<ApplicationId> hostValidator, DeployLogger logger, PrepareParams params, + Preparation(HostValidator hostValidator, DeployLogger logger, PrepareParams params, Optional<ApplicationSet> currentActiveApplicationSet, Path tenantPath, File serverDbSessionDir, ApplicationPackage applicationPackage, SessionZooKeeperClient sessionZooKeeperClient) { |