summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-06-03 10:48:26 +0200
committerHarald Musum <musum@verizonmedia.com>2020-06-03 10:48:26 +0200
commit8a17802a5f8046cca98127cda03356a66e7cf07e (patch)
treec8c9435353ad578e1a7d092cdc2a678a38299a03 /configserver
parent33baf276954ccc840c56bc2f1565004b78b642cf (diff)
parent0929684eb4a265bed96c20961a45477b286af032 (diff)
Merge branch 'master' into musum/configserver-refactoring-5
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionLoader.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java5
4 files changed, 19 insertions, 8 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 288df341f2a..c925157b980 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
@@ -153,6 +153,7 @@ public class ModelContextImpl implements ModelContext {
private final double defaultTermwiseLimit;
private final double threadPoolSizeFactor;
private final double queueSizefactor;
+ private final String docprocLoadBalancerType;
private final Optional<AthenzDomain> athenzDomain;
private final Optional<ApplicationRoles> applicationRoles;
private final int jdiscHealthCheckProxyClientTimeout;
@@ -194,6 +195,8 @@ public class ModelContextImpl implements ModelContext {
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
queueSizefactor = Flags.DEFAULT_QUEUE_SIZE_FACTOR.bindTo(flagSource)
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
+ docprocLoadBalancerType = Flags.DOCPROC_LOADBALANCER_TYPE.bindTo(flagSource)
+ .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
this.athenzDomain = athenzDomain;
this.applicationRoles = applicationRoles;
jdiscHealthCheckProxyClientTimeout = Flags.JDISC_HEALTH_CHECK_PROXY_CLIENT_TIMEOUT.bindTo(flagSource)
@@ -254,6 +257,11 @@ public class ModelContextImpl implements ModelContext {
}
@Override
+ public String docprocLoadBalancerType() {
+ return docprocLoadBalancerType;
+ }
+
+ @Override
public boolean useDistributorBtreeDb() {
return useDistributorBtreeDb;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionLoader.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionLoader.java
index ce8ba291c28..b82ac22e88e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionLoader.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionLoader.java
@@ -5,7 +5,6 @@ package com.yahoo.vespa.config.server.session;
* Interface of a component that is able to load a session given a session id.
*
* @author Ulf Lilleengen
- * @since 5.1
*/
public interface LocalSessionLoader {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java
index 8c602d3fdc6..3f20d3669cb 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSessionRepo.java
@@ -47,12 +47,6 @@ public class LocalSessionRepo {
private final LongFlag expiryTimeFlag;
public LocalSessionRepo(TenantName tenantName, GlobalComponentRegistry componentRegistry, LocalSessionLoader loader) {
- this(tenantName, componentRegistry);
- loadSessions(loader);
- }
-
- // Constructor public only for testing
- public LocalSessionRepo(TenantName tenantName, GlobalComponentRegistry componentRegistry) {
sessionCache = new SessionCache<>();
this.clock = componentRegistry.getClock();
this.curator = componentRegistry.getCurator();
@@ -60,6 +54,7 @@ public class LocalSessionRepo {
this.zkWatcherExecutor = command -> componentRegistry.getZkWatcherExecutor().execute(tenantName, command);
this.tenantFileSystemDirs = new TenantFileSystemDirs(componentRegistry.getConfigServerDB(), tenantName);
this.expiryTimeFlag = Flags.CONFIGSERVER_LOCAL_SESSIONS_EXPIRY_INTERVAL_IN_DAYS.bindTo(componentRegistry.getFlagSource());
+ loadSessions(loader);
}
public synchronized void addSession(LocalSession session) {
@@ -151,4 +146,10 @@ public class LocalSessionRepo {
deleteSession(session);
}
}
+
+ @Override
+ public String toString() {
+ return getSessions().toString();
+ }
+
}
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 99c0899f74a..3ddfdf412c9 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
@@ -15,6 +15,7 @@ import com.yahoo.vespa.config.server.application.TenantApplications;
import com.yahoo.vespa.config.server.host.HostValidator;
import com.yahoo.vespa.config.server.monitoring.MetricUpdater;
import com.yahoo.vespa.config.server.rpc.ConfigResponseFactory;
+import com.yahoo.vespa.config.server.session.LocalSessionLoader;
import com.yahoo.vespa.config.server.session.LocalSessionRepo;
import com.yahoo.vespa.config.server.session.RemoteSessionRepo;
import com.yahoo.vespa.config.server.session.SessionFactory;
@@ -228,8 +229,10 @@ public class TenantRepository {
TenantApplications applicationRepo = TenantApplications.create(globalComponentRegistry,
reloadHandler,
tenantName);
+
SessionFactory sessionFactory = new SessionFactoryImpl(globalComponentRegistry, applicationRepo, hostValidator, tenantName);
- LocalSessionRepo localSessionRepo = new LocalSessionRepo(tenantName, globalComponentRegistry);
+ // TODO: Fix the casting
+ LocalSessionRepo localSessionRepo = new LocalSessionRepo(tenantName, globalComponentRegistry, (LocalSessionLoader) sessionFactory);
RemoteSessionRepo remoteSessionRepo = new RemoteSessionRepo(globalComponentRegistry,
sessionFactory,
reloadHandler,