aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com/yahoo/vespa/config/server/rpc
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2021-11-18 07:59:19 +0100
committerHarald Musum <musum@yahooinc.com>2021-11-18 07:59:19 +0100
commit998562ee62fb14a2e0ad0930007c1cfbf7c66ea2 (patch)
tree46f7028a5cd48cd081981ac80b352ce1f1f33c0a /configserver/src/main/java/com/yahoo/vespa/config/server/rpc
parent65fe0e9b45b10e9b3663a729969473d84f3b5edd (diff)
Reload super model before reloading config
Some requests depend on supermodel being updated when config changes, try reloading it first.
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/rpc')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java5
1 files changed, 3 insertions, 2 deletions
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 00255a0a264..6ea32a32dd1 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
@@ -21,7 +21,6 @@ import com.yahoo.jrt.StringValue;
import com.yahoo.jrt.Supervisor;
import com.yahoo.jrt.Target;
import com.yahoo.jrt.Transport;
-import java.util.logging.Level;
import com.yahoo.vespa.config.ErrorCode;
import com.yahoo.vespa.config.JRTMethods;
import com.yahoo.vespa.config.protocol.ConfigResponse;
@@ -61,6 +60,7 @@ import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
+import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Stream;
@@ -253,6 +253,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
boolean hasNewerGeneration(ApplicationId id, long generation) {
return getState(id).getActiveGeneration() > generation;
}
+
/**
* 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.
@@ -262,8 +263,8 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
ApplicationId applicationId = applicationSet.getId();
ApplicationState state = getState(applicationId);
state.setActiveGeneration(applicationSet.getApplicationGeneration());
- configReloaded(applicationId);
reloadSuperModel(applicationSet);
+ configReloaded(applicationId);
}
private void reloadSuperModel(ApplicationSet applicationSet) {