summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java32
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java2
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java6
3 files changed, 6 insertions, 34 deletions
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 1e025bd8e35..de2e4d54eec 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
@@ -41,9 +41,7 @@ import com.yahoo.vespa.config.server.zookeeper.SessionCounter;
import com.yahoo.vespa.config.server.zookeeper.ZKApplication;
import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.defaults.Defaults;
-import com.yahoo.vespa.flags.BooleanFlag;
import com.yahoo.vespa.flags.FlagSource;
-import com.yahoo.vespa.flags.Flags;
import com.yahoo.yolean.Exceptions;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.recipes.cache.ChildData;
@@ -165,21 +163,20 @@ public class SessionRepository {
this.configDefinitionRepo = configDefinitionRepo;
this.maxNodeSize = maxNodeSize;
- loadSessions(Flags.LOAD_LOCAL_SESSIONS_WHEN_BOOTSTRAPPING.bindTo(flagSource)); // Needs to be done before creating cache below
+ loadSessions(); // Needs to be done before creating cache below
this.directoryCache = curator.createDirectoryCache(sessionsPath.getAbsolute(), false, false, zkCacheExecutor);
this.directoryCache.addListener(this::childEvent);
this.directoryCache.start();
}
- private void loadSessions(BooleanFlag loadLocalSessions) {
+ private void loadSessions() {
ExecutorService executor = Executors.newFixedThreadPool(Math.max(8, Runtime.getRuntime().availableProcessors()),
new DaemonThreadFactory("load-sessions-"));
- loadSessions(loadLocalSessions.value(), executor);
+ loadSessions(executor);
}
- void loadSessions(boolean loadLocalSessions, ExecutorService executor) {
- if (loadLocalSessions)
- loadLocalSessions(executor);
+ // For testing
+ void loadSessions(ExecutorService executor) {
loadRemoteSessions(executor);
try {
executor.shutdown();
@@ -224,25 +221,6 @@ public class SessionRepository {
return sessionIds;
}
- private void loadLocalSessions(ExecutorService executor) {
- File[] sessions = tenantFileSystemDirs.sessionsPath().listFiles(sessionApplicationsFilter);
- if (sessions == null) return;
-
- Map<Long, Future<?>> futures = new HashMap<>();
- for (File session : sessions) {
- long sessionId = Long.parseLong(session.getName());
- futures.put(sessionId, executor.submit(() -> createSessionFromId(sessionId)));
- }
- futures.forEach((sessionId, future) -> {
- try {
- future.get();
- log.log(Level.FINE, () -> "Local session " + sessionId + " loaded");
- } catch (ExecutionException | InterruptedException e) {
- throw new RuntimeException("Could not load local session " + sessionId, e);
- }
- });
- }
-
public ConfigChangeActions prepareLocalSession(Session session, DeployLogger logger, PrepareParams params, Instant now) {
applicationRepo.createApplication(params.getApplicationId()); // TODO jvenstad: This is wrong, but it has to be done now, since preparation can change the application ID of a session :(
logger.log(Level.FINE, "Created application " + params.getApplicationId());
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 2c131e56d67..c6105898794 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
@@ -192,7 +192,7 @@ public class SessionRepositoryTest {
expectedException.expectMessage("Could not load remote session " + sessionIdString);
expectedException.expect(RuntimeException.class);
- sessionRepository.loadSessions(false, new InThreadExecutorService());
+ sessionRepository.loadSessions(new InThreadExecutorService());
assertThat(sessionRepository.getRemoteSessionsFromZooKeeper().size(), is(0));
}
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index d57b15b50b4..4a470b7e2d2 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -260,12 +260,6 @@ public class Flags {
"Takes effect on next deployment through controller",
APPLICATION_ID);
- public static final UnboundBooleanFlag LOAD_LOCAL_SESSIONS_WHEN_BOOTSTRAPPING = defineFeatureFlag(
- "load-local-sessions-when-bootstrapping", true,
- List.of("hmusum"), "2021-06-15", "2021-08-15",
- "Whether to load local sessions when bootstrapping config server",
- "Takes effect on restart of config server");
-
public static final UnboundBooleanFlag DRY_RUN_ONNX_ON_SETUP = defineFeatureFlag(
"dry-run-onnx-on-setup", false,
List.of("baldersheim"), "2021-06-23", "2021-09-01",