summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-07-13 09:11:26 +0200
committerHarald Musum <musum@yahooinc.com>2022-07-13 09:11:26 +0200
commitdcfb60e350dee0ff875b3262bc5dc4d6eaa6bbce (patch)
tree5d691daf2a99f2fc2d13ccd78444db01d9f400e4 /configserver
parent469637c91e4f99498efcef80a0f7a4d4d91de504 (diff)
Renaming: config reload => config activation
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ConfigActivationListener.java (renamed from configserver/src/main/java/com/yahoo/vespa/config/server/ReloadListener.java)8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java30
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java9
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java22
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java14
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java14
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java25
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java11
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java15
12 files changed, 78 insertions, 84 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ReloadListener.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigActivationListener.java
index b41f31d9dcb..f7e9e270b9c 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ReloadListener.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigActivationListener.java
@@ -7,13 +7,13 @@ import com.yahoo.vespa.config.server.application.ApplicationSet;
import java.util.Collection;
/**
- * A ReloadListener is used to signal to a component that config has been
- * reloaded. It only exists because the RpcServer cannot distinguish between a
- * successful reload of a new application and a reload of the same application.
+ * A ConfigActivationListener is used to signal to a component that config has been
+ * activated. It only exists because the RpcServer cannot distinguish between a
+ * successful activation of a new application and an activation of the same application.
*
* @author Ulf Lilleengen
*/
-public interface ReloadListener {
+public interface ConfigActivationListener {
/**
* Signals the listener that hosts used by a particular tenant.
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java
index f6ed98d904b..fd939b91388 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java
@@ -16,7 +16,7 @@ import java.io.StringReader;
/**
* Handler for global configs that must be resolved using the global SuperModel instance. Deals with
- * reloading of config as well.
+ * activation of config as well.
*
* @author Ulf Lilleengen
*/
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java
index aa7dceba95c..93bb44e25d3 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java
@@ -43,12 +43,12 @@ public class SuperModelRequestHandler implements RequestHandler {
}
/**
- * Signals that config has been reloaded for an {@link com.yahoo.vespa.config.server.application.Application}
+ * Signals that config has been activated for an {@link com.yahoo.vespa.config.server.application.Application}
* belonging to a tenant.
*
- * @param applicationSet The reloaded set of {@link com.yahoo.vespa.config.server.application.Application}.
+ * @param applicationSet The activated set of {@link com.yahoo.vespa.config.server.application.Application}.
*/
- public synchronized void reloadConfig(ApplicationSet applicationSet) {
+ public synchronized void activateConfig(ApplicationSet applicationSet) {
superModelManager.configActivated(applicationSet);
updateHandler();
}
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 ff1a4cf5f4a..d794fa4e27f 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,7 @@ 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.NotFoundException;
-import com.yahoo.vespa.config.server.ReloadListener;
+import com.yahoo.vespa.config.server.ConfigActivationListener;
import com.yahoo.vespa.config.server.RequestHandler;
import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
import com.yahoo.vespa.config.server.host.HostRegistry;
@@ -67,7 +67,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
private final Executor zkWatcherExecutor;
private final Metrics metrics;
private final TenantName tenant;
- private final ReloadListener reloadListener;
+ private final ConfigActivationListener configActivationListener;
private final ConfigResponseFactory responseFactory;
private final HostRegistry hostRegistry;
private final ApplicationMapper applicationMapper = new ApplicationMapper();
@@ -78,7 +78,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
private final ListFlag<String> incompatibleVersions;
public TenantApplications(TenantName tenant, Curator curator, StripedExecutor<TenantName> zkWatcherExecutor,
- ExecutorService zkCacheExecutor, Metrics metrics, ReloadListener reloadListener,
+ ExecutorService zkCacheExecutor, Metrics metrics, ConfigActivationListener configActivationListener,
ConfigserverConfig configserverConfig, HostRegistry hostRegistry,
TenantFileSystemDirs tenantFileSystemDirs, Clock clock, FlagSource flagSource) {
this.curator = curator;
@@ -89,7 +89,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
this.directoryCache.addListener(this::childEvent);
this.directoryCache.start();
this.metrics = metrics;
- this.reloadListener = reloadListener;
+ this.configActivationListener = configActivationListener;
this.responseFactory = ConfigResponseFactory.create(configserverConfig);
this.tenantMetricUpdater = metrics.getOrCreateMetricUpdater(Metrics.createDimensions(tenant));
this.hostRegistry = hostRegistry;
@@ -215,18 +215,18 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
return application.resolveConfig(req, responseFactory);
}
- private void notifyReloadListeners(ApplicationSet applicationSet) {
+ private void notifyConfigActivationListeners(ApplicationSet applicationSet) {
if (applicationSet.getAllApplications().isEmpty()) throw new IllegalArgumentException("application set cannot be empty");
- reloadListener.hostsUpdated(applicationSet.getAllApplications().get(0).toApplicationInfo().getApplicationId(),
- applicationSet.getAllHosts());
- reloadListener.configActivated(applicationSet);
+ configActivationListener.hostsUpdated(applicationSet.getAllApplications().get(0).toApplicationInfo().getApplicationId(),
+ applicationSet.getAllHosts());
+ configActivationListener.configActivated(applicationSet);
}
/**
* Activates the config of the given app. Notifies listeners
*
- * @param applicationSet the {@link ApplicationSet} to be reloaded
+ * @param applicationSet the {@link ApplicationSet} to be activated
*/
public void activateApplication(ApplicationSet applicationSet, long activeSessionId) {
ApplicationId id = applicationSet.getId();
@@ -237,7 +237,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
return; // Application activated a new session before we got here.
setActiveApp(applicationSet);
- notifyReloadListeners(applicationSet);
+ notifyConfigActivationListeners(applicationSet);
}
}
@@ -254,7 +254,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
if (hasApplication(applicationId)) {
applicationMapper.remove(applicationId);
hostRegistry.removeHostsForKey(applicationId);
- reloadListenersOnRemove(applicationId);
+ configActivationListenersOnRemove(applicationId);
tenantMetricUpdater.setApplications(applicationMapper.numApplications());
metrics.removeMetricUpdater(Metrics.createDimensions(applicationId));
getRemoveApplicationWaiter(applicationId).notifyCompletion();
@@ -276,9 +276,9 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
}
}
- private void reloadListenersOnRemove(ApplicationId applicationId) {
- reloadListener.hostsUpdated(applicationId, hostRegistry.getHostsForKey(applicationId));
- reloadListener.applicationRemoved(applicationId);
+ private void configActivationListenersOnRemove(ApplicationId applicationId) {
+ configActivationListener.hostsUpdated(applicationId, hostRegistry.getHostsForKey(applicationId));
+ configActivationListener.applicationRemoved(applicationId);
}
private void setActiveApp(ApplicationSet applicationSet) {
@@ -399,7 +399,7 @@ public class TenantApplications implements RequestHandler, HostValidator<Applica
@Override
public void verifyHosts(ApplicationId applicationId, Collection<String> newHosts) {
hostRegistry.verifyHosts(applicationId, newHosts);
- reloadListener.verifyHostsAreAvailable(applicationId, newHosts);
+ configActivationListener.verifyHostsAreAvailable(applicationId, newHosts);
}
public HostValidator<ApplicationId> getHostValidator() {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java
index 7e6fccb6d2f..0b54a09d963 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/DelayedConfigResponses.java
@@ -2,16 +2,14 @@
package com.yahoo.vespa.config.server.rpc;
import com.yahoo.concurrent.ThreadFactoryFactory;
+import com.yahoo.config.provision.ApplicationId;
import com.yahoo.jrt.Target;
import com.yahoo.jrt.TargetWatcher;
-import java.util.logging.Level;
import com.yahoo.vespa.config.protocol.JRTServerConfigRequest;
import com.yahoo.vespa.config.server.GetConfigContext;
import com.yahoo.vespa.config.server.monitoring.MetricUpdater;
import com.yahoo.vespa.config.server.monitoring.Metrics;
-import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -22,6 +20,7 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
import java.util.logging.Logger;
/**
@@ -40,7 +39,7 @@ public class DelayedConfigResponses {
private final Map<ApplicationId, MetricUpdater> metrics = new ConcurrentHashMap<>();
- /* Requests that resolve to config that has not changed are put on this queue. When reloading
+ /* Requests that resolve to config that has not changed are put on this queue. When activating
config, all requests on this queue are reprocessed as if they were a new request */
private final Map<ApplicationId, BlockingQueue<DelayedConfigResponse>> delayedResponses =
new ConcurrentHashMap<>();
@@ -183,7 +182,7 @@ public class DelayedConfigResponses {
response.getRequest().getShortDescription());
}
// Config will be resolved in the run() method of DelayedConfigResponse,
- // when the timer expires or config is updated/reloaded.
+ // when the timer expires or config is updated/activated.
response.schedule(Math.max(0, request.getTimeout()));
metricDelayedResponses(context.applicationId(), delayedResponsesQueue.size());
} catch (InterruptedException e) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java
index ae8d418a2fa..b7327ef3aa7 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java
@@ -156,9 +156,9 @@ class GetConfigProcessor implements Runnable {
if (delayed != null) {
rpcServer.delayResponse(request, delayed.getFirst());
if (rpcServer.hasNewerGeneration(delayed.getFirst().applicationId(), delayed.getSecond())) {
- // This will ensure that if the reload train left the station while I was boarding, another train will
- // immediately be scheduled.
- rpcServer.configReloaded(delayed.getFirst().applicationId());
+ // This will ensure that if the config activation train left the station while I was boarding,
+ // another train will immediately be scheduled.
+ rpcServer.configActivated(delayed.getFirst().applicationId());
}
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
index 7993e58d06e..6518957a4ab 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
@@ -28,7 +28,7 @@ import com.yahoo.vespa.config.protocol.JRTServerConfigRequest;
import com.yahoo.vespa.config.protocol.JRTServerConfigRequestV3;
import com.yahoo.vespa.config.protocol.Trace;
import com.yahoo.vespa.config.server.GetConfigContext;
-import com.yahoo.vespa.config.server.ReloadListener;
+import com.yahoo.vespa.config.server.ConfigActivationListener;
import com.yahoo.vespa.config.server.RequestHandler;
import com.yahoo.vespa.config.server.SuperModelRequestHandler;
import com.yahoo.vespa.config.server.application.ApplicationSet;
@@ -75,7 +75,7 @@ import static com.yahoo.vespa.filedistribution.FileReferenceData.CompressionType
* @author hmusum
*/
// TODO: Split business logic out of this
-public class RpcServer implements Runnable, ReloadListener, TenantListener {
+public class RpcServer implements Runnable, ConfigActivationListener, TenantListener {
static final String getConfigMethodName = "getConfigV3";
@@ -256,7 +256,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
/**
* Checks all delayed responses for config changes and waits until all has been answered.
- * This method should be called when config is reloaded in the server.
+ * This method should be called when config is activated in the server.
*/
@Override
public void configActivated(ApplicationSet applicationSet) {
@@ -264,19 +264,19 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
ApplicationState state = getState(applicationId);
state.setActiveGeneration(applicationSet.getApplicationGeneration());
reloadSuperModel(applicationSet);
- configReloaded(applicationId);
+ configActivated(applicationId);
}
private void reloadSuperModel(ApplicationSet applicationSet) {
- superModelRequestHandler.reloadConfig(applicationSet);
- configReloaded(ApplicationId.global());
+ superModelRequestHandler.activateConfig(applicationSet);
+ configActivated(ApplicationId.global());
}
- void configReloaded(ApplicationId applicationId) {
+ void configActivated(ApplicationId applicationId) {
List<DelayedConfigResponses.DelayedConfigResponse> responses = delayedConfigResponses.drainQueue(applicationId);
String logPre = TenantRepository.logPre(applicationId);
if (log.isLoggable(Level.FINE)) {
- log.log(Level.FINE, logPre + "Start of configReload: " + responses.size() + " requests on delayed requests queue");
+ log.log(Level.FINE, logPre + "Start of configActivated: " + responses.size() + " requests on delayed requests queue");
}
int responsesSent = 0;
CompletionService<Boolean> completionService = new ExecutorCompletionService<>(executorService);
@@ -307,7 +307,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
}
if (log.isLoggable(Level.FINE))
- log.log(Level.FINE, logPre + "Finished reloading " + responsesSent + " requests");
+ log.log(Level.FINE, logPre + "Finished activating " + responsesSent + " requests");
}
private void logRequestDebug(Level level, String message, JRTServerConfigRequest request) {
@@ -330,8 +330,8 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
@Override
public void applicationRemoved(ApplicationId applicationId) {
superModelRequestHandler.removeApplication(applicationId);
- configReloaded(applicationId);
- configReloaded(ApplicationId.global());
+ configActivated(applicationId);
+ configActivated(ApplicationId.global());
}
public void respond(JRTServerConfigRequest request) {
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 1325f065ebd..9cb90d7f50c 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
@@ -19,7 +19,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.ReloadListener;
+import com.yahoo.vespa.config.server.ConfigActivationListener;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.application.TenantApplications;
import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
@@ -115,7 +115,7 @@ public class TenantRepository {
private final Clock clock;
private final ModelFactoryRegistry modelFactoryRegistry;
private final ConfigDefinitionRepo configDefinitionRepo;
- private final ReloadListener reloadListener;
+ private final ConfigActivationListener configActivationListener;
private final ScheduledExecutorService checkForRemovedApplicationsService =
new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("check for removed applications"));
private final Curator.DirectoryCache directoryCache;
@@ -136,7 +136,7 @@ public class TenantRepository {
Zone zone,
ModelFactoryRegistry modelFactoryRegistry,
ConfigDefinitionRepo configDefinitionRepo,
- ReloadListener reloadListener,
+ ConfigActivationListener configActivationListener,
TenantListener tenantListener,
ZookeeperServerConfig zookeeperServerConfig) {
this(hostRegistry,
@@ -155,7 +155,7 @@ public class TenantRepository {
Clock.systemUTC(),
modelFactoryRegistry,
configDefinitionRepo,
- reloadListener,
+ configActivationListener,
tenantListener,
zookeeperServerConfig);
}
@@ -176,7 +176,7 @@ public class TenantRepository {
Clock clock,
ModelFactoryRegistry modelFactoryRegistry,
ConfigDefinitionRepo configDefinitionRepo,
- ReloadListener reloadListener,
+ ConfigActivationListener configActivationListener,
TenantListener tenantListener,
ZookeeperServerConfig zookeeperServerConfig) {
this.hostRegistry = hostRegistry;
@@ -196,7 +196,7 @@ public class TenantRepository {
this.clock = clock;
this.modelFactoryRegistry = modelFactoryRegistry;
this.configDefinitionRepo = configDefinitionRepo;
- this.reloadListener = reloadListener;
+ this.configActivationListener = configActivationListener;
this.tenantListener = tenantListener;
this.zookeeperServerConfig = zookeeperServerConfig;
// This we should control with a feature flag.
@@ -338,7 +338,7 @@ public class TenantRepository {
zkApplicationWatcherExecutor,
zkCacheExecutor,
metrics,
- reloadListener,
+ configActivationListener,
configserverConfig,
hostRegistry,
new TenantFileSystemDirs(configServerDB, tenantName),
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
index 3f329894cef..c3766ad9b83 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
@@ -58,14 +58,14 @@ public class SuperModelRequestHandlerTest {
assertNotNull(controller.getHandler());
long gen = counter.get();
- controller.reloadConfig(createApp(foo, 3L));
+ controller.activateConfig(createApp(foo, 3L));
assertNotNull(controller.getHandler());
assertEquals(gen + 1, controller.getHandler().getGeneration());
- controller.reloadConfig(createApp(foo, 4L));
+ controller.activateConfig(createApp(foo, 4L));
assertEquals(gen + 2, controller.getHandler().getGeneration());
// Test that a new app is used when there already exist an application with the same id
assertEquals(4, controller.getHandler().getSuperModel().applicationModels().get(foo).getGeneration());
- controller.reloadConfig(createApp(bar, 2L));
+ controller.activateConfig(createApp(bar, 2L));
assertEquals(gen + 3, controller.getHandler().getGeneration());
}
@@ -76,9 +76,9 @@ public class SuperModelRequestHandlerTest {
ApplicationId baz = applicationId("b", "baz");
long gen = counter.get();
- controller.reloadConfig(createApp(foo, 3L));
- controller.reloadConfig(createApp(bar, 30L));
- controller.reloadConfig(createApp(baz, 9L));
+ controller.activateConfig(createApp(foo, 3L));
+ controller.activateConfig(createApp(bar, 30L));
+ controller.activateConfig(createApp(baz, 9L));
assertEquals(gen + 3, controller.getHandler().getGeneration());
assertEquals(3, controller.getHandler().getSuperModel().applicationModels().size());
assertTrue(controller.getHandler().getSuperModel().applicationModels().keySet().containsAll(List.of(foo, bar, baz)));
@@ -101,7 +101,7 @@ public class SuperModelRequestHandlerTest {
controller = new SuperModelRequestHandler(new TestConfigDefinitionRepo(), configserverConfig, manager);
long gen = counter.get();
- controller.reloadConfig(createApp(foo, 3L));
+ controller.activateConfig(createApp(foo, 3L));
assertEquals(masterGen + gen + 1, controller.getHandler().getGeneration());
}
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 abb8f9a9df3..472c47c22eb 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
@@ -3,7 +3,6 @@ package com.yahoo.vespa.config.server.application;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.component.Version;
-import com.yahoo.component.Vtag;
import com.yahoo.concurrent.InThreadExecutorService;
import com.yahoo.concurrent.StripedExecutor;
import com.yahoo.config.model.NullConfigModelRegistry;
@@ -14,7 +13,7 @@ import com.yahoo.config.provision.TenantName;
import com.yahoo.text.Utf8;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.server.ConfigServerDB;
-import com.yahoo.vespa.config.server.ReloadListener;
+import com.yahoo.vespa.config.server.ConfigActivationListener;
import com.yahoo.vespa.config.server.ServerCache;
import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
import com.yahoo.vespa.config.server.host.HostRegistry;
@@ -51,8 +50,6 @@ import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.Function;
-import java.util.function.Supplier;
import java.util.stream.IntStream;
import static com.yahoo.vespa.config.server.application.TenantApplications.RemoveApplicationWaiter;
@@ -195,14 +192,14 @@ public class TenantApplicationsTest {
assertTrue("Node is compatible after upgrading", applications.compatibleWith(Optional.of(nodeVersion1), app1));
}
- public static class MockReloadListener implements ReloadListener {
- public final AtomicInteger reloaded = new AtomicInteger(0);
+ public static class MockConfigActivationListener implements ConfigActivationListener {
+ public final AtomicInteger activated = new AtomicInteger(0);
final AtomicInteger removed = new AtomicInteger(0);
final Map<String, Collection<String>> tenantHosts = new LinkedHashMap<>();
@Override
public void configActivated(ApplicationSet application) {
- reloaded.incrementAndGet();
+ activated.incrementAndGet();
}
@Override
@@ -222,7 +219,7 @@ public class TenantApplicationsTest {
@Test
public void testListConfigs() throws IOException, SAXException {
- TenantApplications applications = createTenantApplications(TenantName.defaultName(), new MockCurator(), configserverConfig, new MockReloadListener(), new InMemoryFlagSource());
+ TenantApplications applications = createTenantApplications(TenantName.defaultName(), new MockCurator(), configserverConfig, new MockConfigActivationListener(), new InMemoryFlagSource());
assertFalse(applications.hasApplication(ApplicationId.defaultId(), Optional.of(vespaVersion)));
VespaModel model = new VespaModel(FilesApplicationPackage.fromFile(new File("src/test/apps/app")));
@@ -250,7 +247,7 @@ public class TenantApplicationsTest {
@Test
public void testAppendIdsInNonRecursiveListing() {
- TenantApplications applications = createTenantApplications(tenantName, curator, configserverConfig, new MockReloadListener(), new InMemoryFlagSource());
+ TenantApplications applications = createTenantApplications(tenantName, curator, configserverConfig, new MockConfigActivationListener(), new InMemoryFlagSource());
assertEquals(applications.appendOneLevelOfId("search/music", "search/music/qrservers/default/qr.0"), "search/music/qrservers");
assertEquals(applications.appendOneLevelOfId("search", "search/music/qrservers/default/qr.0"), "search/music");
assertEquals(applications.appendOneLevelOfId("search/music/qrservers/default/qr.0", "search/music/qrservers/default/qr.0"), "search/music/qrservers/default/qr.0");
@@ -297,7 +294,7 @@ public class TenantApplicationsTest {
}
private TenantApplications createZKAppRepo(InMemoryFlagSource flagSource) {
- return createTenantApplications(tenantName, curator, configserverConfig, new MockReloadListener(), flagSource);
+ return createTenantApplications(tenantName, curator, configserverConfig, new MockConfigActivationListener(), flagSource);
}
private static ApplicationId createApplicationId() {
@@ -328,15 +325,15 @@ public class TenantApplicationsTest {
// For testing only
private TenantApplications createTenantApplications(TenantName tenantName,
- Curator curator,
- ConfigserverConfig configserverConfig,
- ReloadListener reloadListener, InMemoryFlagSource flagSource) {
+ Curator curator,
+ ConfigserverConfig configserverConfig,
+ ConfigActivationListener configActivationListener, InMemoryFlagSource flagSource) {
return new TenantApplications(tenantName,
curator,
new StripedExecutor<>(new InThreadExecutorService()),
new InThreadExecutorService(),
Metrics.createTestMetrics(),
- reloadListener,
+ configActivationListener,
configserverConfig,
new HostRegistry(),
new TenantFileSystemDirs(new ConfigServerDB(configserverConfig), tenantName),
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 86f8dc03af3..1960ba43747 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
@@ -6,7 +6,6 @@ import com.yahoo.cloud.config.ZookeeperServerConfig;
import com.yahoo.component.Version;
import com.yahoo.concurrent.InThreadExecutorService;
import com.yahoo.concurrent.StripedExecutor;
-import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationName;
@@ -59,7 +58,7 @@ public class TenantRepositoryTest {
private static final TenantName tenant3 = TenantName.from("tenant3");
private TenantRepository tenantRepository;
- private TenantApplicationsTest.MockReloadListener listener;
+ private TenantApplicationsTest.MockConfigActivationListener listener;
private MockTenantListener tenantListener;
private Curator curator;
private ConfigserverConfig configserverConfig;
@@ -74,7 +73,7 @@ public class TenantRepositoryTest {
@Before
public void setupSessions() throws IOException {
curator = new MockCurator();
- listener = new TenantApplicationsTest.MockReloadListener();
+ listener = new TenantApplicationsTest.MockConfigActivationListener();
tenantListener = new MockTenantListener();
assertFalse(tenantListener.tenantsLoaded);
configserverConfig = new ConfigserverConfig.Builder()
@@ -83,7 +82,7 @@ public class TenantRepositoryTest {
.build();
tenantRepository = new TestTenantRepository.Builder().withConfigserverConfig(configserverConfig)
.withCurator(curator)
- .withReloadListener(listener)
+ .withConfigActivationListener(listener)
.withTenantListener(tenantListener)
.build();
assertTrue(tenantListener.tenantsLoaded);
@@ -115,7 +114,7 @@ public class TenantRepositoryTest {
MetricUpdater.createTestUpdater(),
id)),
4);
- assertEquals(1, listener.reloaded.get());
+ assertEquals(1, listener.activated.get());
}
@Test
@@ -224,7 +223,7 @@ public class TenantRepositoryTest {
Clock.systemUTC(),
new ModelFactoryRegistry(List.of(VespaModelFactory.createTestFactory())),
new TestConfigDefinitionRepo(),
- new TenantApplicationsTest.MockReloadListener(),
+ new TenantApplicationsTest.MockConfigActivationListener(),
new MockTenantListener(),
new ZookeeperServerConfig.Builder().myid(0).build());
}
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 42bb62b06c2..b8c46c2bdc4 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
@@ -5,12 +5,11 @@ import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.cloud.config.ZookeeperServerConfig;
import com.yahoo.concurrent.InThreadExecutorService;
import com.yahoo.concurrent.StripedExecutor;
-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.MockSecretStore;
-import com.yahoo.vespa.config.server.ReloadListener;
+import com.yahoo.vespa.config.server.ConfigActivationListener;
import com.yahoo.vespa.config.server.TestConfigDefinitionRepo;
import com.yahoo.vespa.config.server.application.TenantApplicationsTest;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
@@ -44,7 +43,7 @@ public class TestTenantRepository extends TenantRepository {
Clock clock,
ModelFactoryRegistry modelFactoryRegistry,
ConfigDefinitionRepo configDefinitionRepo,
- ReloadListener reloadListener,
+ ConfigActivationListener configActivationListener,
TenantListener tenantListener) {
super(hostRegistry,
curator,
@@ -62,7 +61,7 @@ public class TestTenantRepository extends TenantRepository {
clock,
modelFactoryRegistry,
configDefinitionRepo,
- reloadListener,
+ configActivationListener,
tenantListener,
new ZookeeperServerConfig.Builder().myid(0).build());
}
@@ -78,7 +77,7 @@ public class TestTenantRepository extends TenantRepository {
HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.empty();
ModelFactoryRegistry modelFactoryRegistry = new ModelFactoryRegistry(List.of(VespaModelFactory.createTestFactory()));
ConfigserverConfig configserverConfig = new ConfigserverConfig.Builder().build();
- ReloadListener reloadListener = new TenantApplicationsTest.MockReloadListener();
+ ConfigActivationListener configActivationListener = new TenantApplicationsTest.MockConfigActivationListener();
TenantListener tenantListener = new MockTenantListener();
Zone zone = Zone.defaultZone();
@@ -127,8 +126,8 @@ public class TestTenantRepository extends TenantRepository {
return this;
}
- public Builder withReloadListener(ReloadListener reloadListener) {
- this.reloadListener = reloadListener;
+ public Builder withConfigActivationListener(ConfigActivationListener configActivationListener) {
+ this.configActivationListener = configActivationListener;
return this;
}
@@ -156,7 +155,7 @@ public class TestTenantRepository extends TenantRepository {
clock,
modelFactoryRegistry,
configDefinitionRepo,
- reloadListener,
+ configActivationListener,
tenantListener);
}