summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHÃ¥kon Hallingstad <hakon@verizonmedia.com>2021-01-21 23:03:19 +0100
committerGitHub <noreply@github.com>2021-01-21 23:03:19 +0100
commitf93fd54d1b22a514903170ec47453802746b1c65 (patch)
tree015177df79197051dff2766fc509b768d213dfad /configserver
parentca7e5417d7cb2a73e50d2ad357fd719d258ea4e0 (diff)
parent1afc24027c88d0ae528d668f015a90940d049d29 (diff)
Merge pull request #16152 from vespa-engine/hmusum/reduce-use-of-global-component-registry-part-3
Reduce use of global component registry, part 3 [run-systemtest]
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java15
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java28
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java9
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/status/StatusHandler.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java14
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java38
-rw-r--r--configserver/src/main/resources/configserver-app/services.xml1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java53
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java40
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java27
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java27
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java42
32 files changed, 87 insertions, 282 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
deleted file mode 100644
index 35a6dc8b74b..00000000000
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server;
-
-import com.yahoo.vespa.config.server.tenant.TenantListener;
-
-/**
- * Interface representing all global config server components used within the config server.
- *
- * @author Ulf Lilleengen
- */
-public interface GlobalComponentRegistry {
-
- TenantListener getTenantListener();
- ReloadListener getReloadListener();
-}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
deleted file mode 100644
index 27fc9a79ea0..00000000000
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server;
-
-import com.google.inject.Inject;
-import com.yahoo.vespa.config.server.rpc.RpcServer;
-import com.yahoo.vespa.config.server.tenant.TenantListener;
-
-/**
- * Registry containing all the "static"/"global" components in a config server in one place.
- *
- * @author Ulf Lilleengen
- */
-public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry {
-
- private final RpcServer rpcServer;
-
- @SuppressWarnings("WeakerAccess")
- @Inject
- public InjectedGlobalComponentRegistry(RpcServer rpcServer) {
- this.rpcServer = rpcServer;
- }
-
- @Override
- public TenantListener getTenantListener() { return rpcServer; }
- @Override
- public ReloadListener getReloadListener() { return rpcServer; }
-
-}
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 6542014c787..6f626464c63 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
@@ -14,7 +14,6 @@ import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.GetConfigRequest;
import com.yahoo.vespa.config.protocol.ConfigResponse;
import com.yahoo.vespa.config.server.ConfigServerDB;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.NotFoundException;
import com.yahoo.vespa.config.server.ReloadListener;
import com.yahoo.vespa.config.server.RequestHandler;
@@ -89,18 +88,18 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
}
// For testing only
- public static TenantApplications create(GlobalComponentRegistry componentRegistry,
- HostRegistry hostRegistry,
+ public static TenantApplications create(HostRegistry hostRegistry,
TenantName tenantName,
Curator curator,
ConfigserverConfig configserverConfig,
- Clock clock) {
+ Clock clock,
+ ReloadListener reloadListener) {
return new TenantApplications(tenantName,
curator,
new StripedExecutor<>(new InThreadExecutorService()),
new InThreadExecutorService(),
Metrics.createTestMetrics(),
- componentRegistry.getReloadListener(),
+ reloadListener,
configserverConfig,
hostRegistry,
new TenantFileSystemDirs(new ConfigServerDB(configserverConfig), tenantName),
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/status/StatusHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/status/StatusHandler.java
index d2de843303e..2f84f4939c4 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/status/StatusHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/status/StatusHandler.java
@@ -10,7 +10,6 @@ import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.slime.Cursor;
import com.yahoo.vespa.config.ConfigPayload;
import com.yahoo.slime.SlimeUtils;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.http.HttpHandler;
import com.yahoo.vespa.config.server.http.JSONResponse;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
index 31c265b24df..327b2d83373 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
@@ -17,7 +17,6 @@ import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.secretstore.SecretStore;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.ServerCache;
import com.yahoo.vespa.config.server.application.Application;
import com.yahoo.vespa.config.server.application.ApplicationCuratorDatabase;
@@ -33,6 +32,7 @@ import com.yahoo.vespa.config.server.tenant.ApplicationRolesStore;
import com.yahoo.vespa.config.server.tenant.ContainerEndpointsCache;
import com.yahoo.vespa.config.server.tenant.EndpointCertificateMetadataStore;
import com.yahoo.vespa.config.server.tenant.EndpointCertificateRetriever;
+import com.yahoo.vespa.config.server.tenant.TenantListener;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.flags.FlagSource;
@@ -67,7 +67,6 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
long applicationGeneration,
SessionZooKeeperClient zkClient,
Optional<ApplicationSet> currentActiveApplicationSet,
- GlobalComponentRegistry globalComponentRegistry,
Curator curator,
Metrics metrics,
PermanentApplicationPackage permanentApplicationPackage,
@@ -77,7 +76,8 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
ConfigserverConfig configserverConfig,
Zone zone,
ModelFactoryRegistry modelFactoryRegistry,
- ConfigDefinitionRepo configDefinitionRepo) {
+ ConfigDefinitionRepo configDefinitionRepo,
+ TenantListener tenantListener) {
super(modelFactoryRegistry,
configserverConfig,
zone,
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index 725ad3b5503..ae8b424136f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -23,7 +23,6 @@ import com.yahoo.transaction.AbstractTransaction;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.transaction.Transaction;
import com.yahoo.vespa.config.server.ConfigServerDB;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.ApplicationSet;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
@@ -36,6 +35,7 @@ import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.monitoring.MetricUpdater;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.provision.HostProvisionerProvider;
+import com.yahoo.vespa.config.server.tenant.TenantListener;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
import com.yahoo.vespa.config.server.zookeeper.SessionCounter;
@@ -102,7 +102,6 @@ public class SessionRepository {
private final SessionPreparer sessionPreparer;
private final Path sessionsPath;
private final TenantName tenantName;
- private final GlobalComponentRegistry componentRegistry;
private final ConfigCurator configCurator;
private final SessionCounter sessionCounter;
private final SecretStore secretStore;
@@ -112,9 +111,9 @@ public class SessionRepository {
private final Zone zone;
private final ModelFactoryRegistry modelFactoryRegistry;
private final ConfigDefinitionRepo configDefinitionRepo;
+ private final TenantListener tenantListener;
public SessionRepository(TenantName tenantName,
- GlobalComponentRegistry componentRegistry,
TenantApplications applicationRepo,
SessionPreparer sessionPreparer,
Curator curator,
@@ -130,9 +129,9 @@ public class SessionRepository {
Zone zone,
Clock clock,
ModelFactoryRegistry modelFactoryRegistry,
- ConfigDefinitionRepo configDefinitionRepo) {
+ ConfigDefinitionRepo configDefinitionRepo,
+ TenantListener tenantListener) {
this.tenantName = tenantName;
- this.componentRegistry = componentRegistry;
this.configCurator = ConfigCurator.create(curator);
sessionCounter = new SessionCounter(configCurator, tenantName);
this.sessionsPath = TenantRepository.getSessionsPath(tenantName);
@@ -154,6 +153,7 @@ public class SessionRepository {
this.zone = zone;
this.modelFactoryRegistry = modelFactoryRegistry;
this.configDefinitionRepo = configDefinitionRepo;
+ this.tenantListener = tenantListener;
loadSessions(); // Needs to be done before creating cache below
this.directoryCache = curator.createDirectoryCache(sessionsPath.getAbsolute(), false, false, zkCacheExecutor);
@@ -473,7 +473,6 @@ public class SessionRepository {
session.getSessionId(),
sessionZooKeeperClient,
previousApplicationSet,
- componentRegistry,
curator,
metrics,
permanentApplicationPackage,
@@ -483,7 +482,8 @@ public class SessionRepository {
configserverConfig,
zone,
modelFactoryRegistry,
- configDefinitionRepo);
+ configDefinitionRepo,
+ tenantListener);
// Read hosts allocated on the config server instance which created this
SettableOptional<AllocatedHosts> allocatedHosts = new SettableOptional<>(applicationPackage.getAllocatedHosts());
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
index c97d562e081..15f30dc6ece 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
@@ -16,7 +16,7 @@ import com.yahoo.path.Path;
import com.yahoo.text.Utf8;
import com.yahoo.transaction.Transaction;
import com.yahoo.vespa.config.server.ConfigServerDB;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
+import com.yahoo.vespa.config.server.ReloadListener;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.application.TenantApplications;
import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
@@ -91,7 +91,6 @@ public class TenantRepository {
private static final Logger log = Logger.getLogger(TenantRepository.class.getName());
private final Map<TenantName, Tenant> tenants = Collections.synchronizedMap(new LinkedHashMap<>());
- private final GlobalComponentRegistry componentRegistry;
private final HostRegistry hostRegistry;
private final List<TenantListener> tenantListeners = Collections.synchronizedList(new ArrayList<>());
private final Curator curator;
@@ -109,6 +108,8 @@ public class TenantRepository {
private final Clock clock;
private final ModelFactoryRegistry modelFactoryRegistry;
private final ConfigDefinitionRepo configDefinitionRepo;
+ private final ReloadListener reloadListener;
+ private final TenantListener tenantListener;
private final ExecutorService bootstrapExecutor;
private final ScheduledExecutorService checkForRemovedApplicationsService =
new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("check for removed applications"));
@@ -117,11 +118,9 @@ public class TenantRepository {
/**
* Creates a new tenant repository
*
- * @param componentRegistry a {@link com.yahoo.vespa.config.server.GlobalComponentRegistry}
*/
@Inject
- public TenantRepository(GlobalComponentRegistry componentRegistry,
- HostRegistry hostRegistry,
+ public TenantRepository(HostRegistry hostRegistry,
Curator curator,
Metrics metrics,
FlagSource flagSource,
@@ -131,9 +130,10 @@ public class TenantRepository {
ConfigServerDB configServerDB,
Zone zone,
ModelFactoryRegistry modelFactoryRegistry,
- ConfigDefinitionRepo configDefinitionRepo) {
- this(componentRegistry,
- hostRegistry,
+ ConfigDefinitionRepo configDefinitionRepo,
+ ReloadListener reloadListener,
+ TenantListener tenantListener) {
+ this(hostRegistry,
curator,
metrics,
new StripedExecutor<>(),
@@ -147,11 +147,12 @@ public class TenantRepository {
zone,
Clock.systemUTC(),
modelFactoryRegistry,
- configDefinitionRepo);
+ configDefinitionRepo,
+ reloadListener,
+ tenantListener);
}
- public TenantRepository(GlobalComponentRegistry componentRegistry,
- HostRegistry hostRegistry,
+ public TenantRepository(HostRegistry hostRegistry,
Curator curator,
Metrics metrics,
StripedExecutor<TenantName> zkWatcherExecutor,
@@ -165,8 +166,9 @@ public class TenantRepository {
Zone zone,
Clock clock,
ModelFactoryRegistry modelFactoryRegistry,
- ConfigDefinitionRepo configDefinitionRepo) {
- this.componentRegistry = componentRegistry;
+ ConfigDefinitionRepo configDefinitionRepo,
+ ReloadListener reloadListener,
+ TenantListener tenantListener) {
this.hostRegistry = hostRegistry;
this.configserverConfig = configserverConfig;
this.bootstrapExecutor = Executors.newFixedThreadPool(configserverConfig.numParallelTenantLoaders(),
@@ -174,7 +176,7 @@ public class TenantRepository {
this.curator = curator;
this.metrics = metrics;
metricUpdater = metrics.getOrCreateMetricUpdater(Collections.emptyMap());
- this.tenantListeners.add(componentRegistry.getTenantListener());
+ this.tenantListeners.add(tenantListener);
this.zkCacheExecutor = zkCacheExecutor;
this.zkWatcherExecutor = zkWatcherExecutor;
this.fileDistributionFactory = fileDistributionFactory;
@@ -186,6 +188,8 @@ public class TenantRepository {
this.clock = clock;
this.modelFactoryRegistry = modelFactoryRegistry;
this.configDefinitionRepo = configDefinitionRepo;
+ this.reloadListener = reloadListener;
+ this.tenantListener = tenantListener;
curator.framework().getConnectionStateListenable().addListener(this::stateChanged);
@@ -308,7 +312,7 @@ public class TenantRepository {
zkWatcherExecutor,
zkCacheExecutor,
metrics,
- componentRegistry.getReloadListener(),
+ reloadListener,
configserverConfig,
hostRegistry,
new TenantFileSystemDirs(configServerDB, tenantName),
@@ -325,7 +329,6 @@ public class TenantRepository {
flagSource,
secretStore);
SessionRepository sessionRepository = new SessionRepository(tenantName,
- componentRegistry,
applicationRepo,
sessionPreparer,
curator,
@@ -341,7 +344,8 @@ public class TenantRepository {
zone,
clock,
modelFactoryRegistry,
- configDefinitionRepo);
+ configDefinitionRepo,
+ tenantListener);
log.log(Level.INFO, "Adding tenant '" + tenantName + "'" + ", created " + created);
Tenant tenant = new Tenant(tenantName, sessionRepository, applicationRepo, applicationRepo, created);
notifyNewTenant(tenant);
diff --git a/configserver/src/main/resources/configserver-app/services.xml b/configserver/src/main/resources/configserver-app/services.xml
index 53cfa24b2ac..db84be3cf7b 100644
--- a/configserver/src/main/resources/configserver-app/services.xml
+++ b/configserver/src/main/resources/configserver-app/services.xml
@@ -23,7 +23,6 @@
<component id="com.yahoo.vespa.config.server.provision.HostProvisionerProvider" bundle="configserver" />
<component id="com.yahoo.vespa.config.server.deploy.InfraDeployerProvider" bundle="configserver" />
<component id="com.yahoo.vespa.curator.Curator" bundle="configserver" />
- <component id="com.yahoo.vespa.config.server.InjectedGlobalComponentRegistry" bundle="configserver" />
<component id="com.yahoo.vespa.config.server.tenant.TenantRepository" bundle="configserver" />
<component id="com.yahoo.vespa.config.server.application.PermanentApplicationPackage" bundle="configserver" />
<component id="com.yahoo.vespa.config.server.host.HostRegistry" bundle="configserver" />
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
index 1cbc4c1c6d6..dae79486775 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
@@ -122,12 +122,9 @@ public class ApplicationRepositoryTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .build();
InMemoryFlagSource flagSource = new InMemoryFlagSource();
tenantRepository = new TestTenantRepository.Builder()
.withClock(clock)
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.withCurator(curator)
.withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig))
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
deleted file mode 100644
index 84fa6a9db18..00000000000
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server;
-
-import com.yahoo.cloud.config.ConfigserverConfig;
-import com.yahoo.vespa.config.server.filedistribution.FileServer;
-import com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker;
-import com.yahoo.vespa.config.server.host.HostRegistry;
-import com.yahoo.vespa.config.server.monitoring.Metrics;
-import com.yahoo.vespa.config.server.rpc.RpcRequestHandlerProvider;
-import com.yahoo.vespa.config.server.rpc.RpcServer;
-import com.yahoo.vespa.config.server.rpc.security.NoopRpcAuthorizer;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-
-import java.io.IOException;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-
-/**
- * @author Ulf Lilleengen
- */
-public class InjectedGlobalComponentRegistryTest {
-
- private RpcServer rpcServer;
- private GlobalComponentRegistry globalComponentRegistry;
-
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
- @Before
- public void setupRegistry() throws IOException {
- ConfigserverConfig configserverConfig = new ConfigserverConfig(
- new ConfigserverConfig.Builder()
- .configServerDBDir(temporaryFolder.newFolder("serverdb").getAbsolutePath())
- .configDefinitionsDir(temporaryFolder.newFolder("configdefinitions").getAbsolutePath()));
- HostRegistry hostRegistry = new HostRegistry();
- rpcServer = new RpcServer(configserverConfig, null, Metrics.createTestMetrics(),
- hostRegistry, new ConfigRequestHostLivenessTracker(),
- new FileServer(temporaryFolder.newFolder("filereferences")),
- new NoopRpcAuthorizer(), new RpcRequestHandlerProvider());
- globalComponentRegistry = new InjectedGlobalComponentRegistry(rpcServer);
- }
-
- @Test
- public void testThatAllComponentsAreSetup() {
- assertThat(globalComponentRegistry.getReloadListener().hashCode(), is(rpcServer.hashCode()));
- assertThat(globalComponentRegistry.getTenantListener().hashCode(), is(rpcServer.hashCode()));
- }
-
-}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
deleted file mode 100644
index 987289e347c..00000000000
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.config.server;
-
-import com.yahoo.vespa.config.server.application.TenantApplicationsTest;
-import com.yahoo.vespa.config.server.tenant.MockTenantListener;
-import com.yahoo.vespa.config.server.tenant.TenantListener;
-
-/**
- * @author Ulf Lilleengen
- */
-public class TestComponentRegistry implements GlobalComponentRegistry {
-
- private final ReloadListener reloadListener;
- private final TenantListener tenantListener;
-
- private TestComponentRegistry(ReloadListener reloadListener, TenantListener tenantListener) {
- this.reloadListener = reloadListener;
- this.tenantListener = tenantListener;
- }
-
- public static class Builder {
- private ReloadListener reloadListener = new TenantApplicationsTest.MockReloadListener();
- private final MockTenantListener tenantListener = new MockTenantListener();
-
- public Builder reloadListener(ReloadListener reloadListener) {
- this.reloadListener = reloadListener;
- return this;
- }
-
- public TestComponentRegistry build() {
- return new TestComponentRegistry(reloadListener, tenantListener);
- }
- }
-
- @Override
- public TenantListener getTenantListener() { return tenantListener; }
- @Override
- public ReloadListener getReloadListener() { return reloadListener; }
-
-}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
index d44a037e71e..e4e9afcc12f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
@@ -11,7 +11,6 @@ import com.yahoo.text.Utf8;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.server.ReloadListener;
import com.yahoo.vespa.config.server.ServerCache;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.host.HostRegistry;
import com.yahoo.vespa.config.server.model.TestModelFactory;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
@@ -56,10 +55,8 @@ public class TenantApplicationsTest {
private static final TenantName tenantName = TenantName.from("tenant");
private static final Version vespaVersion = new VespaModelFactory(new NullConfigModelRegistry()).version();
- private final MockReloadListener listener = new MockReloadListener();
private Curator curator;
private CuratorFramework curatorFramework;
- private TestComponentRegistry componentRegistry;
private TenantApplications applications;
private ConfigserverConfig configserverConfig;
@@ -75,19 +72,20 @@ public class TenantApplicationsTest {
.configServerDBDir(tempFolder.newFolder("configserverdb").getAbsolutePath())
.configDefinitionsDir(tempFolder.newFolder("configdefinitions").getAbsolutePath())
.build();
- componentRegistry = new TestComponentRegistry.Builder()
- .reloadListener(listener)
- .build();
HostRegistry hostRegistry = new HostRegistry();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.withCurator(curator)
.withModelFactoryRegistry(createRegistry())
.build();
tenantRepository.addTenant(TenantRepository.HOSTED_VESPA_TENANT);
tenantRepository.addTenant(tenantName);
- applications = TenantApplications.create(componentRegistry, hostRegistry, tenantName, curator, configserverConfig, Clock.systemUTC());
+ applications = TenantApplications.create(hostRegistry,
+ tenantName,
+ curator,
+ configserverConfig,
+ Clock.systemUTC(),
+ new TenantApplicationsTest.MockReloadListener());
}
@Test
@@ -180,12 +178,12 @@ public class TenantApplicationsTest {
@Test
public void testListConfigs() throws IOException, SAXException {
- applications = TenantApplications.create(componentRegistry,
- new HostRegistry(),
+ applications = TenantApplications.create(new HostRegistry(),
TenantName.defaultName(),
new MockCurator(),
configserverConfig,
- Clock.systemUTC());
+ Clock.systemUTC(),
+ new TenantApplicationsTest.MockReloadListener());
assertdefaultAppNotFound();
VespaModel model = new VespaModel(FilesApplicationPackage.fromFile(new File("src/test/apps/app")));
@@ -220,7 +218,12 @@ public class TenantApplicationsTest {
}
private TenantApplications createZKAppRepo() {
- return TenantApplications.create(componentRegistry, new HostRegistry(), tenantName, curator, configserverConfig, Clock.systemUTC());
+ return TenantApplications.create(new HostRegistry(),
+ tenantName,
+ curator,
+ configserverConfig,
+ Clock.systemUTC(),
+ new TenantApplicationsTest.MockReloadListener());
}
private static ApplicationId createApplicationId(String name) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
index c1c2867285d..0149b23dcb6 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
@@ -23,7 +23,6 @@ import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.filedistribution.MockFileDistributionFactory;
@@ -283,11 +282,8 @@ public class DeployTester {
List<ModelFactory> modelFactories = Optional.ofNullable(this.modelFactories)
.orElseGet(() -> List.of(createModelFactory(clock)));
- TestComponentRegistry.Builder testComponentRegistryBuilder = new TestComponentRegistry.Builder();
-
TestTenantRepository.Builder builder = new TestTenantRepository.Builder()
.withClock(clock)
- .withComponentRegistry(testComponentRegistryBuilder.build())
.withConfigserverConfig(configserverConfig)
.withCurator(curator)
.withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig))
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java
index 030ff243c21..176686e5843 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpGetConfigHandlerTest.java
@@ -8,7 +8,6 @@ import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.session.PrepareParams;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
@@ -54,9 +53,7 @@ public class HttpGetConfigHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
tenantRepository.addTenant(tenant);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java
index 56a0049247a..ff33eb70bca 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/HttpListConfigsHandlerTest.java
@@ -9,7 +9,6 @@ import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.HttpListConfigsHandler.ListConfigsResponse;
import com.yahoo.vespa.config.server.session.PrepareParams;
@@ -59,9 +58,7 @@ public class HttpListConfigsHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
tenantRepository.addTenant(tenant);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
index 085c3913b9b..1142c756f94 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
@@ -10,7 +10,6 @@ import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.jdisc.Response;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.ContentHandlerTestBase;
import com.yahoo.vespa.config.server.session.PrepareParams;
@@ -56,10 +55,8 @@ public class ApplicationContentHandlerTest extends ContentHandlerTestBase {
.configDefinitionsDir(temporaryFolder.newFolder("configdefinitions").getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
tenantRepository.addTenant(tenantName1);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
index bc6ee90a9a7..e699e5f82b2 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
@@ -18,7 +18,6 @@ import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockLogRetriever;
import com.yahoo.vespa.config.server.MockProvisioner;
import com.yahoo.vespa.config.server.MockTesterClient;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.ApplicationCuratorDatabase;
import com.yahoo.vespa.config.server.application.ApplicationReindexing;
import com.yahoo.vespa.config.server.application.ClusterReindexing;
@@ -109,11 +108,9 @@ public class ApplicationHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
provisioner = new MockProvisioner();
tenantRepository = new TestTenantRepository.Builder()
.withClock(clock)
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig))
.withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, false))
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java
index 4d4a06dd05c..2514a911c06 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java
@@ -12,7 +12,6 @@ import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.jdisc.Response;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.HandlerTest;
import com.yahoo.vespa.config.server.http.HttpErrorResponse;
@@ -53,10 +52,7 @@ public class HostHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
tenantRepository.addTenant(mytenant);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java
index 9bb66b0723c..983a02d2496 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java
@@ -10,7 +10,6 @@ import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.HandlerTest;
import com.yahoo.vespa.config.server.http.HttpConfigRequest;
@@ -63,10 +62,8 @@ public class HttpGetConfigHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
MockProvisioner provisioner = new MockProvisioner();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, false))
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java
index 8a2f02629ea..4453e78f64e 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpListConfigsHandlerTest.java
@@ -12,7 +12,6 @@ import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.HandlerTest;
import com.yahoo.vespa.config.server.http.HttpErrorResponse;
@@ -66,9 +65,7 @@ public class HttpListConfigsHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
tenantRepository.addTenant(tenant);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java
index 7cabd9ea7e3..3360ea1c099 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ListApplicationsHandlerTest.java
@@ -11,7 +11,6 @@ import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.jdisc.Response;
import com.yahoo.jdisc.http.HttpRequest.Method;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.TenantApplications;
import com.yahoo.vespa.config.server.http.SessionHandlerTest;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
@@ -38,8 +37,6 @@ public class ListApplicationsHandlerTest {
private static final TenantName mytenant = TenantName.from("mytenant");
private static final TenantName foobar = TenantName.from("foobar");
- private final TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
-
private TenantApplications applicationRepo, applicationRepo2;
private ListApplicationsHandler handler;
@@ -53,7 +50,6 @@ public class ListApplicationsHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
tenantRepository.addTenant(mytenant);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
index c782a8d2555..635f6d58abc 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
@@ -12,7 +12,6 @@ import com.yahoo.jdisc.http.HttpRequest;
import com.yahoo.slime.JsonFormat;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.HandlerTest;
@@ -75,9 +74,7 @@ public class SessionActiveHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.withModelFactoryRegistry(new ModelFactoryRegistry(List.of((modelFactory))))
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
index e47b270a74b..0d4af43d3ba 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java
@@ -12,7 +12,6 @@ import com.yahoo.jdisc.http.HttpRequest;
import com.yahoo.text.Utf8;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.ContentHandlerTestBase;
import com.yahoo.vespa.config.server.http.SessionHandlerTest;
@@ -57,10 +56,8 @@ public class SessionContentHandlerTest extends ContentHandlerTestBase {
.configDefinitionsDir(temporaryFolder.newFolder("configdefinitions").getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
tenantRepository.addTenant(tenantName);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
index c7690a70597..dd1a4996884 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionCreateHandlerTest.java
@@ -9,7 +9,6 @@ import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.CompressedApplicationInputStreamTest;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.HttpErrorResponse;
@@ -28,7 +27,6 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
-import java.time.Clock;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -54,7 +52,6 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
private static final TenantName tenant = TenantName.from("test");
private static final HashMap<String, String> postHeaders = new HashMap<>();
- private final TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
ApplicationRepository applicationRepository;
private String pathPrefix = "/application/v2/session/";
@@ -75,7 +72,6 @@ public class SessionCreateHandlerTest extends SessionHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
applicationRepository = new ApplicationRepository.Builder()
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
index 92ddf4c29f4..a69cbe74eae 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
@@ -16,7 +16,6 @@ import com.yahoo.slime.Slime;
import com.yahoo.slime.SlimeUtils;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.HttpErrorResponse;
@@ -76,12 +75,9 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .build();
Clock clock = Clock.systemUTC();
timeoutBudget = new TimeoutBudget(clock, Duration.ofSeconds(10));
tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.withCurator(curator)
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
index 37f0f2c5e2f..b0b01ea24b4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/TenantHandlerTest.java
@@ -11,7 +11,6 @@ import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.jdisc.http.HttpRequest.Method;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.http.BadRequestException;
import com.yahoo.vespa.config.server.http.NotFoundException;
@@ -55,10 +54,7 @@ public class TenantHandlerTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .build();
tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
applicationRepository = new ApplicationRepository.Builder()
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java
index af26f2287c1..3afd2f185a1 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java
@@ -5,10 +5,8 @@ import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.model.provision.InMemoryProvisioner;
import com.yahoo.config.provision.Provisioner;
import com.yahoo.vespa.config.server.ApplicationRepository;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.MockLogRetriever;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.deploy.DeployTester;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
@@ -41,10 +39,8 @@ class MaintainerTester {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- GlobalComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
tenantRepository = new TestTenantRepository.Builder()
.withClock(clock)
- .withComponentRegistry(componentRegistry)
.withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, true))
.withConfigserverConfig(configserverConfig)
.withModelFactoryRegistry(new ModelFactoryRegistry(List.of(new DeployTester.CountingModelFactory(clock))))
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
index 03ef4825b4c..135603def69 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
@@ -18,7 +18,6 @@ import com.yahoo.vespa.config.server.MockProvisioner;
import com.yahoo.vespa.config.server.PortRangeAllocator;
import com.yahoo.vespa.config.server.SuperModelManager;
import com.yahoo.vespa.config.server.SuperModelRequestHandler;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.TestConfigDefinitionRepo;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.filedistribution.FileServer;
@@ -86,11 +85,7 @@ public class RpcTester implements AutoCloseable {
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath());
configserverConfig = new ConfigserverConfig(configBuilder);
rpcServer = createRpcServer(configserverConfig);
- TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
- .reloadListener(rpcServer)
- .build();
tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withHostRegistry(hostRegistry)
.withConfigserverConfig(configserverConfig)
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
index cafd9fba167..d747df7cb41 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
@@ -16,9 +16,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.TenantName;
import com.yahoo.text.Utf8;
import com.yahoo.vespa.config.server.ApplicationRepository;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.MockProvisioner;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.application.ApplicationSet;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.filedistribution.MockFileDistributionFactory;
@@ -87,9 +85,7 @@ public class SessionRepositoryTest {
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath())
.sessionLifetime(5)
.build();
- GlobalComponentRegistry globalComponentRegistry = new TestComponentRegistry.Builder().build();
tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(globalComponentRegistry)
.withConfigserverConfig(configserverConfig)
.withCurator(curator)
.withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig))
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java
index a520700f582..70bbe2031aa 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java
@@ -13,11 +13,9 @@ import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.server.ConfigServerDB;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.MockProvisioner;
import com.yahoo.vespa.config.server.MockSecretStore;
import com.yahoo.vespa.config.server.ServerCache;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import com.yahoo.vespa.config.server.TestConfigDefinitionRepo;
import com.yahoo.vespa.config.server.application.Application;
import com.yahoo.vespa.config.server.application.ApplicationSet;
@@ -74,17 +72,17 @@ public class TenantRepositoryTest {
@Before
public void setupSessions() throws IOException {
curator = new MockCurator();
- TestComponentRegistry globalComponentRegistry = new TestComponentRegistry.Builder().build();
- listener = (TenantApplicationsTest.MockReloadListener) globalComponentRegistry.getReloadListener();
- tenantListener = (MockTenantListener) globalComponentRegistry.getTenantListener();
+ listener = new TenantApplicationsTest.MockReloadListener();
+ tenantListener = new MockTenantListener();
assertFalse(tenantListener.tenantsLoaded);
configserverConfig = new ConfigserverConfig.Builder()
.configServerDBDir(temporaryFolder.newFolder().getAbsolutePath())
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
- tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(globalComponentRegistry)
- .withConfigserverConfig(configserverConfig)
+ tenantRepository = new TestTenantRepository.Builder().withConfigserverConfig(configserverConfig)
.withCurator(curator)
+ .withReloadListener(listener)
+ .withTenantListener(tenantListener)
.build();
assertTrue(tenantListener.tenantsLoaded);
tenantRepository.addTenant(tenant1);
@@ -195,7 +193,7 @@ public class TenantRepositoryTest {
// Should get exception if config is true
expectedException.expect(RuntimeException.class);
expectedException.expectMessage("Could not create all tenants when bootstrapping, failed to create: [default]");
- new FailingDuringBootstrapTenantRepository(createComponentRegistry(), configserverConfig);
+ new FailingDuringBootstrapTenantRepository(configserverConfig);
}
private List<String> readZKChildren(String path) throws Exception {
@@ -206,15 +204,10 @@ public class TenantRepositoryTest {
assertNotNull(curator.framework().checkExists().forPath(TenantRepository.getTenantPath(tenantName).getAbsolute()));
}
- private GlobalComponentRegistry createComponentRegistry() {
- return new TestComponentRegistry.Builder().build();
- }
-
private static class FailingDuringBootstrapTenantRepository extends TenantRepository {
- public FailingDuringBootstrapTenantRepository(GlobalComponentRegistry componentRegistry, ConfigserverConfig configserverConfig) {
- super(componentRegistry,
- new HostRegistry(),
+ public FailingDuringBootstrapTenantRepository(ConfigserverConfig configserverConfig) {
+ super(new HostRegistry(),
new MockCurator(),
Metrics.createTestMetrics(),
new StripedExecutor<>(new InThreadExecutorService()),
@@ -228,7 +221,9 @@ public class TenantRepositoryTest {
Zone.defaultZone(),
Clock.systemUTC(),
new ModelFactoryRegistry(List.of(new VespaModelFactory(new NullConfigModelRegistry()))),
- new TestConfigDefinitionRepo());
+ new TestConfigDefinitionRepo(),
+ new TenantApplicationsTest.MockReloadListener(),
+ new MockTenantListener());
}
@Override
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java
index 54e4492f08e..31493891b2b 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantTest.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.config.server.tenant;
import com.google.common.testing.EqualsTester;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.provision.TenantName;
-import com.yahoo.vespa.config.server.TestComponentRegistry;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -21,8 +20,6 @@ import static org.junit.Assert.assertThat;
*/
public class TenantTest {
- private final TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build();
-
private Tenant t1;
private Tenant t2;
private Tenant t3;
@@ -45,7 +42,6 @@ public class TenantTest {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.build();
TenantRepository tenantRepository = new TestTenantRepository.Builder()
- .withComponentRegistry(componentRegistry)
.withConfigserverConfig(configserverConfig)
.build();
TenantName tenantName = TenantName.from(name);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java
index 1cb7789824b..ad20abaeaf5 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java
@@ -8,9 +8,10 @@ import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.server.ConfigServerDB;
-import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.MockSecretStore;
+import com.yahoo.vespa.config.server.ReloadListener;
import com.yahoo.vespa.config.server.TestConfigDefinitionRepo;
+import com.yahoo.vespa.config.server.application.TenantApplicationsTest;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
import com.yahoo.vespa.config.server.host.HostRegistry;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
@@ -31,8 +32,7 @@ import java.util.List;
*/
public class TestTenantRepository extends TenantRepository {
- public TestTenantRepository(GlobalComponentRegistry componentRegistry,
- HostRegistry hostRegistry,
+ public TestTenantRepository(HostRegistry hostRegistry,
Curator curator,
Metrics metrics,
FileDistributionFactory fileDistributionFactory,
@@ -42,9 +42,10 @@ public class TestTenantRepository extends TenantRepository {
Zone zone,
Clock clock,
ModelFactoryRegistry modelFactoryRegistry,
- ConfigDefinitionRepo configDefinitionRepo) {
- super(componentRegistry,
- hostRegistry,
+ ConfigDefinitionRepo configDefinitionRepo,
+ ReloadListener reloadListener,
+ TenantListener tenantListener) {
+ super(hostRegistry,
curator,
metrics,
new StripedExecutor<>(new InThreadExecutorService()),
@@ -58,13 +59,14 @@ public class TestTenantRepository extends TenantRepository {
zone,
clock,
modelFactoryRegistry,
- configDefinitionRepo);
+ configDefinitionRepo,
+ reloadListener,
+ tenantListener);
}
public static class Builder {
Clock clock = Clock.systemUTC();
ConfigDefinitionRepo configDefinitionRepo = new TestConfigDefinitionRepo();
- GlobalComponentRegistry componentRegistry;
HostRegistry hostRegistry = new HostRegistry();
Curator curator = new MockCurator();
Metrics metrics = Metrics.createTestMetrics();
@@ -73,6 +75,8 @@ public class TestTenantRepository extends TenantRepository {
HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.empty();
ModelFactoryRegistry modelFactoryRegistry = new ModelFactoryRegistry(List.of(new VespaModelFactory(new NullConfigModelRegistry())));
ConfigserverConfig configserverConfig = new ConfigserverConfig.Builder().build();
+ ReloadListener reloadListener = new TenantApplicationsTest.MockReloadListener();
+ TenantListener tenantListener = new MockTenantListener();
Zone zone = Zone.defaultZone();
public Builder withClock(Clock clock) {
@@ -85,11 +89,6 @@ public class TestTenantRepository extends TenantRepository {
return this;
}
- public Builder withComponentRegistry(GlobalComponentRegistry componentRegistry) {
- this.componentRegistry = componentRegistry;
- return this;
- }
-
public Builder withHostRegistry(HostRegistry hostRegistry) {
this.hostRegistry = hostRegistry;
return this;
@@ -125,6 +124,16 @@ public class TestTenantRepository extends TenantRepository {
return this;
}
+ public Builder withReloadListener(ReloadListener reloadListener) {
+ this.reloadListener = reloadListener;
+ return this;
+ }
+
+ public Builder withTenantListener(TenantListener tenantListener) {
+ this.tenantListener = tenantListener;
+ return this;
+ }
+
public Builder withZone(Zone zone) {
this.zone = zone;
return this;
@@ -133,8 +142,7 @@ public class TestTenantRepository extends TenantRepository {
public TenantRepository build() {
if (fileDistributionFactory == null)
fileDistributionFactory = new FileDistributionFactory(configserverConfig);
- return new TestTenantRepository(componentRegistry,
- hostRegistry,
+ return new TestTenantRepository(hostRegistry,
curator,
metrics,
fileDistributionFactory,
@@ -144,7 +152,9 @@ public class TestTenantRepository extends TenantRepository {
zone,
clock,
modelFactoryRegistry,
- configDefinitionRepo);
+ configDefinitionRepo,
+ reloadListener,
+ tenantListener);
}
}