summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2019-01-17 00:35:55 +0100
committerHåkon Hallingstad <hakon@oath.com>2019-01-17 00:35:55 +0100
commit2c9b2d5b0a32bef040e7aca72b205712cd35832f (patch)
tree3d3d587c6c67da3b7a29b312998d40c5a4d8f56a /configserver
parent00c24c453d4a79f6d1298e5722ba09398a9d26f4 (diff)
Define enable logserver flag
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java14
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionContext.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java9
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java40
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java12
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java8
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java2
14 files changed, 102 insertions, 31 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index acf49fe51be..d3901b342d6 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -14,6 +14,9 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.Rotation;
import com.yahoo.config.provision.Zone;
+import com.yahoo.vespa.flags.FetchVector;
+import com.yahoo.vespa.flags.FlagSource;
+import com.yahoo.vespa.flags.Flags;
import java.io.File;
import java.net.URI;
@@ -126,8 +129,10 @@ public class ModelContextImpl implements ModelContext {
private final boolean isBootstrap;
private final boolean isFirstTimeDeployment;
private final boolean useDedicatedNodeForLogserver;
+ private final boolean enableLogServer;
public Properties(ApplicationId applicationId,
+ FlagSource flagSource,
boolean multitenant,
List<ConfigServerSpec> configServerSpecs,
HostName loadBalancerName,
@@ -151,6 +156,10 @@ public class ModelContextImpl implements ModelContext {
this.isBootstrap = isBootstrap;
this.isFirstTimeDeployment = isFirstTimeDeployment;
this.useDedicatedNodeForLogserver = useDedicatedNodeForLogserver;
+ this.enableLogServer = Flags.ENABLE_LOGSERVER
+ .bindTo(flagSource)
+ .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm())
+ .value();
}
@Override
@@ -192,6 +201,11 @@ public class ModelContextImpl implements ModelContext {
@Override
public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; }
+
+ @Override
+ public boolean enableLogServer() {
+ return enableLogServer;
+ }
}
}
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 103eec14b36..f7a500e5bf6 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
@@ -120,6 +120,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
private ModelContext.Properties createModelContextProperties(ApplicationId applicationId) {
return new ModelContextImpl.Properties(applicationId,
+ flagSource,
configserverConfig.multitenant(),
ConfigServerSpec.fromConfig(configserverConfig),
HostName.from(configserverConfig.loadBalancerAddress()),
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
index 0f9f8b72de1..5d9665c9815 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
@@ -3,18 +3,19 @@ package com.yahoo.vespa.config.server.session;
import com.yahoo.component.Version;
import com.yahoo.config.application.api.ApplicationFile;
-import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.ApplicationMetaData;
+import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.provision.AllocatedHosts;
+import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.TenantName;
+import com.yahoo.io.IOUtils;
+import com.yahoo.path.Path;
import com.yahoo.transaction.AbstractTransaction;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.transaction.Transaction;
-import com.yahoo.io.IOUtils;
-import com.yahoo.path.Path;
-import com.yahoo.vespa.config.server.*;
-import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.TenantName;
+import com.yahoo.vespa.config.server.SuperModelGenerationCounter;
+import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.ApplicationSet;
import com.yahoo.vespa.config.server.application.TenantApplications;
import com.yahoo.vespa.config.server.configchange.ConfigChangeActions;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionContext.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionContext.java
index 323c2667d30..f212e1a1486 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionContext.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionContext.java
@@ -2,10 +2,11 @@
package com.yahoo.vespa.config.server.session;
import com.yahoo.config.application.api.ApplicationPackage;
-import com.yahoo.vespa.config.server.host.HostValidator;
-import com.yahoo.vespa.config.server.SuperModelGenerationCounter;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.vespa.config.server.SuperModelGenerationCounter;
import com.yahoo.vespa.config.server.application.TenantApplications;
+import com.yahoo.vespa.config.server.host.HostValidator;
+import com.yahoo.vespa.flags.FlagSource;
import java.io.File;
@@ -22,16 +23,19 @@ public class SessionContext {
private final TenantApplications applicationRepo;
private final HostValidator<ApplicationId> hostRegistry;
private final SuperModelGenerationCounter superModelGenerationCounter;
+ private final FlagSource flagSource;
public SessionContext(ApplicationPackage applicationPackage, SessionZooKeeperClient sessionZooKeeperClient,
File serverDBSessionDir, TenantApplications applicationRepo,
- HostValidator<ApplicationId> hostRegistry, SuperModelGenerationCounter superModelGenerationCounter) {
+ HostValidator<ApplicationId> hostRegistry, SuperModelGenerationCounter superModelGenerationCounter,
+ FlagSource flagSource) {
this.applicationPackage = applicationPackage;
this.sessionZooKeeperClient = sessionZooKeeperClient;
this.serverDBSessionDir = serverDBSessionDir;
this.applicationRepo = applicationRepo;
this.hostRegistry = hostRegistry;
this.superModelGenerationCounter = superModelGenerationCounter;
+ this.flagSource = flagSource;
}
public ApplicationPackage getApplicationPackage() {
@@ -56,4 +60,7 @@ public class SessionContext {
return superModelGenerationCounter;
}
+ public FlagSource getFlagSource() {
+ return flagSource;
+ }
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
index a50114a4a82..b79ea720aea 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
@@ -18,6 +18,7 @@ import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.config.server.zookeeper.SessionCounter;
import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
import com.yahoo.vespa.curator.Curator;
+import com.yahoo.vespa.flags.FlagSource;
import java.io.File;
import java.time.Clock;
@@ -50,6 +51,7 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
private final String serverId;
private final Optional<NodeFlavors> nodeFlavors;
private final Clock clock;
+ private final FlagSource flagSource;
public SessionFactoryImpl(GlobalComponentRegistry globalComponentRegistry,
TenantApplications applicationRepo,
@@ -69,6 +71,7 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
this.serverId = globalComponentRegistry.getConfigserverConfig().serverId();
this.nodeFlavors = globalComponentRegistry.getZone().nodeFlavors();
this.clock = globalComponentRegistry.getClock();
+ this.flagSource = globalComponentRegistry.getFlagSource();
}
/** Create a session for a true application package change */
@@ -110,7 +113,8 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
log.log(LogLevel.DEBUG, TenantRepository.logPre(tenant) + "Creating upload waiter for session " + sessionId);
Curator.CompletionWaiter waiter = sessionZKClient.getUploadWaiter();
log.log(LogLevel.DEBUG, TenantRepository.logPre(tenant) + "Done creating upload waiter for session " + sessionId);
- LocalSession session = new LocalSession(tenant, sessionId, sessionPreparer, new SessionContext(applicationPackage, sessionZKClient, getSessionAppDir(sessionId), applicationRepo, hostRegistry, superModelGenerationCounter));
+ SessionContext context = new SessionContext(applicationPackage, sessionZKClient, getSessionAppDir(sessionId), applicationRepo, hostRegistry, superModelGenerationCounter, flagSource);
+ LocalSession session = new LocalSession(tenant, sessionId, sessionPreparer, context);
log.log(LogLevel.DEBUG, TenantRepository.logPre(tenant) + "Waiting on upload waiter for session " + sessionId);
waiter.awaitCompletion(timeoutBudget.timeLeft());
log.log(LogLevel.DEBUG, TenantRepository.logPre(tenant) + "Done waiting on upload waiter for session " + sessionId);
@@ -179,7 +183,7 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
serverId,
nodeFlavors);
SessionContext context = new SessionContext(applicationPackage, sessionZKClient, sessionDir, applicationRepo,
- hostRegistry, superModelGenerationCounter);
+ hostRegistry, superModelGenerationCounter, flagSource);
return new LocalSession(tenant, sessionId, sessionPreparer, context);
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
index fd4628baa85..5c834686c8c 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.session;
import com.google.common.collect.ImmutableList;
import com.google.inject.Inject;
import com.yahoo.cloud.config.ConfigserverConfig;
+import com.yahoo.component.Version;
import com.yahoo.component.Vtag;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
@@ -15,7 +16,6 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.OutOfCapacityException;
import com.yahoo.config.provision.Rotation;
-import com.yahoo.component.Version;
import com.yahoo.config.provision.Zone;
import com.yahoo.lang.SettableOptional;
import com.yahoo.log.LogLevel;
@@ -32,6 +32,7 @@ import com.yahoo.vespa.config.server.modelfactory.PreparedModelsBuilder;
import com.yahoo.vespa.config.server.provision.HostProvisionerProvider;
import com.yahoo.vespa.config.server.tenant.Rotations;
import com.yahoo.vespa.curator.Curator;
+import com.yahoo.vespa.flags.FlagSource;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
@@ -63,6 +64,7 @@ public class SessionPreparer {
private final ConfigDefinitionRepo configDefinitionRepo;
private final Curator curator;
private final Zone zone;
+ private final FlagSource flagSource;
@Inject
public SessionPreparer(ModelFactoryRegistry modelFactoryRegistry,
@@ -72,7 +74,8 @@ public class SessionPreparer {
ConfigserverConfig configserverConfig,
ConfigDefinitionRepo configDefinitionRepo,
Curator curator,
- Zone zone) {
+ Zone zone,
+ FlagSource flagSource) {
this.modelFactoryRegistry = modelFactoryRegistry;
this.fileDistributionFactory = fileDistributionFactory;
this.hostProvisionerProvider = hostProvisionerProvider;
@@ -81,6 +84,7 @@ public class SessionPreparer {
this.configDefinitionRepo = configDefinitionRepo;
this.curator = curator;
this.zone = zone;
+ this.flagSource = flagSource;
}
/**
@@ -152,6 +156,7 @@ public class SessionPreparer {
this.rotations = new Rotations(curator, tenantPath);
this.rotationsSet = getRotations(params.rotations());
this.properties = new ModelContextImpl.Properties(params.getApplicationId(),
+ context.getFlagSource(),
configserverConfig.multitenant(),
ConfigServerSpec.fromConfig(configserverConfig),
HostName.from(configserverConfig.loadBalancerAddress()),
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
index 43425aec13b..82d1bd3b622 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
@@ -11,6 +11,7 @@ import com.yahoo.config.provision.Rotation;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.server.deploy.ModelContextImpl;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import org.junit.Test;
import java.util.Collections;
@@ -43,6 +44,7 @@ public class ModelContextImplTest {
Optional.empty(),
new ModelContextImpl.Properties(
ApplicationId.defaultId(),
+ new InMemoryFlagSource(),
true,
Collections.emptyList(),
null,
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 65c83633bbb..83b1fdd009f 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
@@ -23,6 +23,7 @@ import com.yahoo.vespa.curator.mock.MockCurator;
import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
import com.yahoo.vespa.flags.FileFlagSource;
import com.yahoo.vespa.flags.FlagSource;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.model.VespaModelFactory;
import java.time.Clock;
@@ -154,7 +155,7 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
SessionPreparer sessionPreparer = new SessionPreparer(modelFactoryRegistry, fileDistributionFactory,
hostProvisionerProvider, permApp,
configserverConfig, defRepo, curator,
- zone);
+ zone, new InMemoryFlagSource());
return new TestComponentRegistry(curator, ConfigCurator.create(curator), metrics, modelFactoryRegistry,
permApp, fileDistributionFactory, hostRegistries, configserverConfig,
sessionPreparer, hostProvisioner, defRepo, reloadListener, tenantListener,
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
index c5faebe4a28..cce8f8d18b2 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
@@ -7,28 +7,40 @@ import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.application.provider.FilesApplicationPackage;
import com.yahoo.config.model.test.MockApplicationPackage;
+import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Capacity;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostFilter;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.ProvisionLogger;
import com.yahoo.config.provision.Provisioner;
+import com.yahoo.config.provision.TenantName;
+import com.yahoo.container.jdisc.HttpRequest;
+import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.io.IOUtils;
-import com.yahoo.transaction.NestedTransaction;
-import com.yahoo.transaction.Transaction;
import com.yahoo.log.LogLevel;
import com.yahoo.path.Path;
-import com.yahoo.container.jdisc.HttpRequest;
-import com.yahoo.container.jdisc.HttpResponse;
+import com.yahoo.transaction.NestedTransaction;
+import com.yahoo.transaction.Transaction;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.ApplicationSet;
-import com.yahoo.vespa.config.server.host.HostRegistry;
-import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.TenantName;
import com.yahoo.vespa.config.server.configchange.ConfigChangeActions;
-import com.yahoo.vespa.config.server.session.*;
-
-import java.io.*;
+import com.yahoo.vespa.config.server.host.HostRegistry;
+import com.yahoo.vespa.config.server.session.DummyTransaction;
+import com.yahoo.vespa.config.server.session.LocalSession;
+import com.yahoo.vespa.config.server.session.MockSessionZKClient;
+import com.yahoo.vespa.config.server.session.PrepareParams;
+import com.yahoo.vespa.config.server.session.Session;
+import com.yahoo.vespa.config.server.session.SessionContext;
+import com.yahoo.vespa.config.server.session.SessionFactory;
+import com.yahoo.vespa.config.server.session.SessionPreparer;
+import com.yahoo.vespa.config.server.session.SessionTest;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
import java.time.Instant;
import java.util.Collection;
import java.util.List;
@@ -73,6 +85,7 @@ public class SessionHandlerTest {
public static class MockSession extends LocalSession {
+ private final InMemoryFlagSource flagSource;
public boolean doVerboseLogging = false;
public Session.Status status;
private final SessionPreparer preparer;
@@ -82,9 +95,14 @@ public class SessionHandlerTest {
private ApplicationId applicationId;
public MockSession(long id, ApplicationPackage app) {
- super(TenantName.defaultName(), id, null, new SessionContext(null, new MockSessionZKClient(MockApplicationPackage.createEmpty()), null, null, new HostRegistry<>(), null));
+ this(id, app, new InMemoryFlagSource());
+ }
+
+ private MockSession(long id, ApplicationPackage app, InMemoryFlagSource flagSource) {
+ super(TenantName.defaultName(), id, null, new SessionContext(null, new MockSessionZKClient(MockApplicationPackage.createEmpty()), null, null, new HostRegistry<>(), null, flagSource));
this.app = app;
this.preparer = new SessionTest.MockSessionPreparer();
+ this.flagSource = flagSource;
}
public MockSession(long sessionId, ApplicationPackage applicationPackage, long createTime) {
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 8a21ee51a02..a7efa09a281 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
@@ -47,6 +47,7 @@ import com.yahoo.vespa.config.server.tenant.TenantBuilder;
import com.yahoo.vespa.config.server.tenant.TenantRepository;
import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.curator.mock.MockCurator;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.model.VespaModelFactory;
import org.hamcrest.core.Is;
import org.junit.Before;
@@ -80,6 +81,7 @@ public class SessionActiveHandlerTest extends SessionHandlerTest {
private static final TenantName tenantName = TenantName.from("activatetest");
private static final String activatedMessage = " for tenant '" + tenantName + "' activated.";
+ private final InMemoryFlagSource flagSource = new InMemoryFlagSource();
private final Clock clock = Clock.systemUTC();
private Curator curator;
private RemoteSessionRepo remoteSessionRepo;
@@ -231,7 +233,8 @@ public class SessionActiveHandlerTest extends SessionHandlerTest {
ApplicationPackage app = FilesApplicationPackage.fromFileWithDeployData(testApp, deployData);
localRepo.addSession(new LocalSession(tenantName, sessionId, new SessionTest.MockSessionPreparer(),
new SessionContext(app, zkc, new File(tenantFileSystemDirs.sessionsPath(), String.valueOf(sessionId)),
- applicationRepo, new HostRegistry<>(), new SuperModelGenerationCounter(curator))));
+ applicationRepo, new HostRegistry<>(), new SuperModelGenerationCounter(curator),
+ flagSource)));
}
private ActivateRequest activateAndAssertOKPut(long sessionId, long previousSessionId, String subPath) throws Exception {
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 caaa5d1d74d..87dd87c3def 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
@@ -404,7 +404,8 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
null,
null,
new HostRegistry<>(),
- null));
+ null,
+ null));
this.exception = exception;
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
index e49c29e79b4..c4b3e5f24dc 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
@@ -23,6 +23,7 @@ import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.curator.mock.MockCurator;
import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import org.junit.Before;
import org.junit.Test;
@@ -38,6 +39,7 @@ import static org.junit.Assert.*;
*/
public class LocalSessionTest {
+ private final InMemoryFlagSource flagSource = new InMemoryFlagSource();
private Path tenantPath = Path.createRoot();
private Curator curator;
private ConfigCurator configCurator;
@@ -173,7 +175,15 @@ public class LocalSessionTest {
zkClient.write(Collections.singletonMap(new Version(0, 0, 0), new MockFileRegistry()));
File sessionDir = new File(tenantFileSystemDirs.sessionsPath(), String.valueOf(sessionId));
sessionDir.createNewFile();
- return new LocalSession(tenant, sessionId, preparer, new SessionContext(FilesApplicationPackage.fromFile(testApp), zkc, sessionDir, new MemoryTenantApplications(), new HostRegistry<>(), superModelGenerationCounter));
+ return new LocalSession(tenant, sessionId, preparer,
+ new SessionContext(
+ FilesApplicationPackage.fromFile(testApp),
+ zkc,
+ sessionDir,
+ new MemoryTenantApplications(),
+ new HostRegistry<>(),
+ superModelGenerationCounter,
+ flagSource));
}
private void doPrepare(LocalSession session, Instant now) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index 6fe749b4493..93f5f4f4ba4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -33,6 +33,7 @@ import com.yahoo.vespa.config.server.tenant.Rotations;
import com.yahoo.vespa.config.server.zookeeper.ConfigCurator;
import com.yahoo.vespa.curator.mock.MockCurator;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -66,6 +67,7 @@ public class SessionPreparerTest {
private static final Version version321 = new Version(3, 2, 1);
private static final Version version323 = new Version(3, 2, 3);
+ private final InMemoryFlagSource flagSource = new InMemoryFlagSource();
private MockCurator curator;
private ConfigCurator configCurator;
private SessionPreparer preparer;
@@ -105,7 +107,8 @@ public class SessionPreparerTest {
componentRegistry.getConfigserverConfig(),
componentRegistry.getStaticConfigDefinitionRepo(),
curator,
- componentRegistry.getZone());
+ componentRegistry.getZone(),
+ flagSource);
}
@Test(expected = InvalidApplicationException.class)
@@ -236,7 +239,8 @@ public class SessionPreparerTest {
new SessionZooKeeperClient(curator, sessionsPath),
app.getAppDir(),
new MemoryTenantApplications(), new HostRegistry<>(),
- new SuperModelGenerationCounter(curator));
+ new SuperModelGenerationCounter(curator),
+ flagSource);
}
private FilesApplicationPackage getApplicationPackage(File testFile) throws IOException {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java
index 419accc4ca9..95f6c7718e2 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java
@@ -21,7 +21,7 @@ public class SessionTest {
public boolean isPrepared = false;
public MockSessionPreparer() {
- super(null, null, null, null, null, null, new MockCurator(), null);
+ super(null, null, null, null, null, null, new MockCurator(), null, null);
}
@Override