From fdefcbc9f02151a7e2761182ee5ada67d406da04 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Thu, 21 Jan 2021 16:44:44 +0100 Subject: Move ReloadListener out of GlobalComponentRegistry --- .../config/server/GlobalComponentRegistry.java | 1 - .../server/InjectedGlobalComponentRegistry.java | 2 -- .../server/application/TenantApplications.java | 8 ++++---- .../config/server/tenant/TenantRepository.java | 14 +++++++++---- .../InjectedGlobalComponentRegistryTest.java | 1 - .../vespa/config/server/TestComponentRegistry.java | 15 ++------------ .../server/application/TenantApplicationsTest.java | 24 ++++++++++++++-------- .../yahoo/vespa/config/server/rpc/RpcTester.java | 4 +--- .../config/server/tenant/TenantRepositoryTest.java | 6 ++++-- .../config/server/tenant/TestTenantRepository.java | 17 ++++++++++++--- 10 files changed, 51 insertions(+), 41 deletions(-) (limited to 'configserver') 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 index 35a6dc8b74b..440d298e075 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java @@ -11,5 +11,4 @@ import com.yahoo.vespa.config.server.tenant.TenantListener; 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 index 27fc9a79ea0..892016a86ad 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java @@ -22,7 +22,5 @@ public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry @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..cf10cc48e33 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 @@ -89,18 +89,18 @@ public class TenantApplications implements RequestHandler, HostValidator(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/tenant/TenantRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java index c97d562e081..5979ac45d65 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 @@ -17,6 +17,7 @@ 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; @@ -109,6 +110,7 @@ public class TenantRepository { private final Clock clock; private final ModelFactoryRegistry modelFactoryRegistry; private final ConfigDefinitionRepo configDefinitionRepo; + private final ReloadListener reloadListener; private final ExecutorService bootstrapExecutor; private final ScheduledExecutorService checkForRemovedApplicationsService = new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("check for removed applications")); @@ -131,7 +133,8 @@ public class TenantRepository { ConfigServerDB configServerDB, Zone zone, ModelFactoryRegistry modelFactoryRegistry, - ConfigDefinitionRepo configDefinitionRepo) { + ConfigDefinitionRepo configDefinitionRepo, + ReloadListener reloadListener) { this(componentRegistry, hostRegistry, curator, @@ -147,7 +150,8 @@ public class TenantRepository { zone, Clock.systemUTC(), modelFactoryRegistry, - configDefinitionRepo); + configDefinitionRepo, + reloadListener); } public TenantRepository(GlobalComponentRegistry componentRegistry, @@ -165,7 +169,8 @@ public class TenantRepository { Zone zone, Clock clock, ModelFactoryRegistry modelFactoryRegistry, - ConfigDefinitionRepo configDefinitionRepo) { + ConfigDefinitionRepo configDefinitionRepo, + ReloadListener reloadListener) { this.componentRegistry = componentRegistry; this.hostRegistry = hostRegistry; this.configserverConfig = configserverConfig; @@ -186,6 +191,7 @@ public class TenantRepository { this.clock = clock; this.modelFactoryRegistry = modelFactoryRegistry; this.configDefinitionRepo = configDefinitionRepo; + this.reloadListener = reloadListener; curator.framework().getConnectionStateListenable().addListener(this::stateChanged); @@ -308,7 +314,7 @@ public class TenantRepository { zkWatcherExecutor, zkCacheExecutor, metrics, - componentRegistry.getReloadListener(), + reloadListener, configserverConfig, hostRegistry, new TenantFileSystemDirs(configServerDB, tenantName), 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 index 84fa6a9db18..9378d4a95a9 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java @@ -46,7 +46,6 @@ public class InjectedGlobalComponentRegistryTest { @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 index 987289e347c..6814cc54630 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java @@ -1,7 +1,6 @@ // 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; @@ -10,31 +9,21 @@ import com.yahoo.vespa.config.server.tenant.TenantListener; */ public class TestComponentRegistry implements GlobalComponentRegistry { - private final ReloadListener reloadListener; private final TenantListener tenantListener; - private TestComponentRegistry(ReloadListener reloadListener, TenantListener tenantListener) { - this.reloadListener = reloadListener; + private TestComponentRegistry(TenantListener tenantListener) { 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); + return new TestComponentRegistry(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..c3f17a10a63 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 @@ -75,9 +75,7 @@ public class TenantApplicationsTest { .configServerDBDir(tempFolder.newFolder("configserverdb").getAbsolutePath()) .configDefinitionsDir(tempFolder.newFolder("configdefinitions").getAbsolutePath()) .build(); - componentRegistry = new TestComponentRegistry.Builder() - .reloadListener(listener) - .build(); + componentRegistry = new TestComponentRegistry.Builder().build(); HostRegistry hostRegistry = new HostRegistry(); TenantRepository tenantRepository = new TestTenantRepository.Builder() .withComponentRegistry(componentRegistry) @@ -87,7 +85,12 @@ public class TenantApplicationsTest { .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 +183,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 +223,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/rpc/RpcTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java index 03ef4825b4c..e8365d6a6a1 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 @@ -86,9 +86,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(); + TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().build(); tenantRepository = new TestTenantRepository.Builder() .withComponentRegistry(componentRegistry) .withHostRegistry(hostRegistry) 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..6bc6da476df 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 @@ -75,7 +75,7 @@ public class TenantRepositoryTest { public void setupSessions() throws IOException { curator = new MockCurator(); TestComponentRegistry globalComponentRegistry = new TestComponentRegistry.Builder().build(); - listener = (TenantApplicationsTest.MockReloadListener) globalComponentRegistry.getReloadListener(); + listener = new TenantApplicationsTest.MockReloadListener(); tenantListener = (MockTenantListener) globalComponentRegistry.getTenantListener(); assertFalse(tenantListener.tenantsLoaded); configserverConfig = new ConfigserverConfig.Builder() @@ -85,6 +85,7 @@ public class TenantRepositoryTest { tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(globalComponentRegistry) .withConfigserverConfig(configserverConfig) .withCurator(curator) + .withReloadListener(listener) .build(); assertTrue(tenantListener.tenantsLoaded); tenantRepository.addTenant(tenant1); @@ -228,7 +229,8 @@ public class TenantRepositoryTest { Zone.defaultZone(), Clock.systemUTC(), new ModelFactoryRegistry(List.of(new VespaModelFactory(new NullConfigModelRegistry()))), - new TestConfigDefinitionRepo()); + new TestConfigDefinitionRepo(), + new TenantApplicationsTest.MockReloadListener()); } @Override 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..6be2b0cfa3c 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 @@ -10,7 +10,9 @@ 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; @@ -42,7 +44,8 @@ public class TestTenantRepository extends TenantRepository { Zone zone, Clock clock, ModelFactoryRegistry modelFactoryRegistry, - ConfigDefinitionRepo configDefinitionRepo) { + ConfigDefinitionRepo configDefinitionRepo, + ReloadListener reloadListener) { super(componentRegistry, hostRegistry, curator, @@ -58,7 +61,8 @@ public class TestTenantRepository extends TenantRepository { zone, clock, modelFactoryRegistry, - configDefinitionRepo); + configDefinitionRepo, + reloadListener); } public static class Builder { @@ -73,6 +77,7 @@ 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(); Zone zone = Zone.defaultZone(); public Builder withClock(Clock clock) { @@ -125,6 +130,11 @@ public class TestTenantRepository extends TenantRepository { return this; } + public Builder withReloadListener(ReloadListener reloadListener) { + this.reloadListener = reloadListener; + return this; + } + public Builder withZone(Zone zone) { this.zone = zone; return this; @@ -144,7 +154,8 @@ public class TestTenantRepository extends TenantRepository { zone, clock, modelFactoryRegistry, - configDefinitionRepo); + configDefinitionRepo, + reloadListener); } } -- cgit v1.2.3 From 1afc24027c88d0ae528d668f015a90940d049d29 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Thu, 21 Jan 2021 18:41:40 +0100 Subject: Remove GlobalComponentRegistry and implementations --- .../config/server/GlobalComponentRegistry.java | 14 ------ .../server/InjectedGlobalComponentRegistry.java | 26 ----------- .../server/application/TenantApplications.java | 1 - .../config/server/http/status/StatusHandler.java | 1 - .../modelfactory/ActivatedModelsBuilder.java | 6 +-- .../config/server/session/SessionRepository.java | 14 +++--- .../config/server/tenant/TenantRepository.java | 30 ++++++------- .../main/resources/configserver-app/services.xml | 1 - .../config/server/ApplicationRepositoryTest.java | 3 -- .../InjectedGlobalComponentRegistryTest.java | 52 ---------------------- .../vespa/config/server/TestComponentRegistry.java | 29 ------------ .../server/application/TenantApplicationsTest.java | 5 --- .../vespa/config/server/deploy/DeployTester.java | 4 -- .../server/http/HttpGetConfigHandlerTest.java | 3 -- .../server/http/HttpListConfigsHandlerTest.java | 3 -- .../http/v2/ApplicationContentHandlerTest.java | 3 -- .../server/http/v2/ApplicationHandlerTest.java | 3 -- .../config/server/http/v2/HostHandlerTest.java | 4 -- .../server/http/v2/HttpGetConfigHandlerTest.java | 3 -- .../server/http/v2/HttpListConfigsHandlerTest.java | 3 -- .../http/v2/ListApplicationsHandlerTest.java | 4 -- .../server/http/v2/SessionActiveHandlerTest.java | 3 -- .../server/http/v2/SessionContentHandlerTest.java | 3 -- .../server/http/v2/SessionCreateHandlerTest.java | 4 -- .../server/http/v2/SessionPrepareHandlerTest.java | 4 -- .../config/server/http/v2/TenantHandlerTest.java | 4 -- .../server/maintenance/MaintainerTester.java | 4 -- .../yahoo/vespa/config/server/rpc/RpcTester.java | 3 -- .../server/session/SessionRepositoryTest.java | 4 -- .../config/server/tenant/TenantRepositoryTest.java | 23 ++++------ .../vespa/config/server/tenant/TenantTest.java | 4 -- .../config/server/tenant/TestTenantRepository.java | 31 +++++++------ 32 files changed, 47 insertions(+), 252 deletions(-) delete mode 100644 configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java delete mode 100644 configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java delete mode 100644 configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java delete mode 100644 configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java (limited to 'configserver') 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 440d298e075..00000000000 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java +++ /dev/null @@ -1,14 +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(); -} 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 892016a86ad..00000000000 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java +++ /dev/null @@ -1,26 +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; } - -} 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 cf10cc48e33..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; 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 { long applicationGeneration, SessionZooKeeperClient zkClient, Optional currentActiveApplicationSet, - GlobalComponentRegistry globalComponentRegistry, Curator curator, Metrics metrics, PermanentApplicationPackage permanentApplicationPackage, @@ -77,7 +76,8 @@ public class ActivatedModelsBuilder extends ModelsBuilder { 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 = 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 5979ac45d65..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,6 @@ 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; @@ -92,7 +91,6 @@ public class TenantRepository { private static final Logger log = Logger.getLogger(TenantRepository.class.getName()); private final Map tenants = Collections.synchronizedMap(new LinkedHashMap<>()); - private final GlobalComponentRegistry componentRegistry; private final HostRegistry hostRegistry; private final List tenantListeners = Collections.synchronizedList(new ArrayList<>()); private final Curator curator; @@ -111,6 +109,7 @@ public class TenantRepository { 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")); @@ -119,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, @@ -134,9 +131,9 @@ public class TenantRepository { Zone zone, ModelFactoryRegistry modelFactoryRegistry, ConfigDefinitionRepo configDefinitionRepo, - ReloadListener reloadListener) { - this(componentRegistry, - hostRegistry, + ReloadListener reloadListener, + TenantListener tenantListener) { + this(hostRegistry, curator, metrics, new StripedExecutor<>(), @@ -151,11 +148,11 @@ public class TenantRepository { Clock.systemUTC(), modelFactoryRegistry, configDefinitionRepo, - reloadListener); + reloadListener, + tenantListener); } - public TenantRepository(GlobalComponentRegistry componentRegistry, - HostRegistry hostRegistry, + public TenantRepository(HostRegistry hostRegistry, Curator curator, Metrics metrics, StripedExecutor zkWatcherExecutor, @@ -170,8 +167,8 @@ public class TenantRepository { Clock clock, ModelFactoryRegistry modelFactoryRegistry, ConfigDefinitionRepo configDefinitionRepo, - ReloadListener reloadListener) { - this.componentRegistry = componentRegistry; + ReloadListener reloadListener, + TenantListener tenantListener) { this.hostRegistry = hostRegistry; this.configserverConfig = configserverConfig; this.bootstrapExecutor = Executors.newFixedThreadPool(configserverConfig.numParallelTenantLoaders(), @@ -179,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; @@ -192,6 +189,7 @@ public class TenantRepository { this.modelFactoryRegistry = modelFactoryRegistry; this.configDefinitionRepo = configDefinitionRepo; this.reloadListener = reloadListener; + this.tenantListener = tenantListener; curator.framework().getConnectionStateListenable().addListener(this::stateChanged); @@ -331,7 +329,6 @@ public class TenantRepository { flagSource, secretStore); SessionRepository sessionRepository = new SessionRepository(tenantName, - componentRegistry, applicationRepo, sessionPreparer, curator, @@ -347,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 @@ - 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 9378d4a95a9..00000000000 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java +++ /dev/null @@ -1,52 +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.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 6814cc54630..00000000000 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java +++ /dev/null @@ -1,29 +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.MockTenantListener; -import com.yahoo.vespa.config.server.tenant.TenantListener; - -/** - * @author Ulf Lilleengen - */ -public class TestComponentRegistry implements GlobalComponentRegistry { - - private final TenantListener tenantListener; - - private TestComponentRegistry(TenantListener tenantListener) { - this.tenantListener = tenantListener; - } - - public static class Builder { - private final MockTenantListener tenantListener = new MockTenantListener(); - - public TestComponentRegistry build() { - return new TestComponentRegistry(tenantListener); - } - } - - @Override - public TenantListener getTenantListener() { return tenantListener; } - -} 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 c3f17a10a63..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,10 +72,8 @@ public class TenantApplicationsTest { .configServerDBDir(tempFolder.newFolder("configserverdb").getAbsolutePath()) .configDefinitionsDir(tempFolder.newFolder("configdefinitions").getAbsolutePath()) .build(); - componentRegistry = new TestComponentRegistry.Builder().build(); HostRegistry hostRegistry = new HostRegistry(); TenantRepository tenantRepository = new TestTenantRepository.Builder() - .withComponentRegistry(componentRegistry) .withConfigserverConfig(configserverConfig) .withCurator(curator) .withModelFactoryRegistry(createRegistry()) 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 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 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 e8365d6a6a1..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,9 +85,7 @@ public class RpcTester implements AutoCloseable { .fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath()); configserverConfig = new ConfigserverConfig(configBuilder); rpcServer = createRpcServer(configserverConfig); - TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder().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 6bc6da476df..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,18 +72,17 @@ public class TenantRepositoryTest { @Before public void setupSessions() throws IOException { curator = new MockCurator(); - TestComponentRegistry globalComponentRegistry = new TestComponentRegistry.Builder().build(); listener = new TenantApplicationsTest.MockReloadListener(); - tenantListener = (MockTenantListener) globalComponentRegistry.getTenantListener(); + 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); @@ -196,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 readZKChildren(String path) throws Exception { @@ -207,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()), @@ -230,7 +222,8 @@ public class TenantRepositoryTest { Clock.systemUTC(), new ModelFactoryRegistry(List.of(new VespaModelFactory(new NullConfigModelRegistry()))), new TestConfigDefinitionRepo(), - new TenantApplicationsTest.MockReloadListener()); + 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 6be2b0cfa3c..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,7 +8,6 @@ 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; @@ -33,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, @@ -45,9 +43,9 @@ public class TestTenantRepository extends TenantRepository { Clock clock, ModelFactoryRegistry modelFactoryRegistry, ConfigDefinitionRepo configDefinitionRepo, - ReloadListener reloadListener) { - super(componentRegistry, - hostRegistry, + ReloadListener reloadListener, + TenantListener tenantListener) { + super(hostRegistry, curator, metrics, new StripedExecutor<>(new InThreadExecutorService()), @@ -62,13 +60,13 @@ public class TestTenantRepository extends TenantRepository { clock, modelFactoryRegistry, configDefinitionRepo, - reloadListener); + 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(); @@ -78,6 +76,7 @@ public class TestTenantRepository extends TenantRepository { 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) { @@ -90,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; @@ -135,6 +129,11 @@ public class TestTenantRepository extends TenantRepository { return this; } + public Builder withTenantListener(TenantListener tenantListener) { + this.tenantListener = tenantListener; + return this; + } + public Builder withZone(Zone zone) { this.zone = zone; return this; @@ -143,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, @@ -155,7 +153,8 @@ public class TestTenantRepository extends TenantRepository { clock, modelFactoryRegistry, configDefinitionRepo, - reloadListener); + reloadListener, + tenantListener); } } -- cgit v1.2.3