diff options
author | Harald Musum <musum@yahooinc.com> | 2023-03-03 12:28:33 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-03-03 12:28:33 +0100 |
commit | 198be96c9538306a8ad670d72ce586c65c2a827b (patch) | |
tree | 53f44b66e8cf295468927f75dc4f021ccb37db2a /configserver | |
parent | 0295dd9d2841c45fb02eb97c8c2e87e4fd9c9120 (diff) |
Resolve config when we discover a new config generation is active
Calling configActivated() will end up in going through all delayed
responses, putting them on a queue and wait for configs to be resolved.
This happens with the same executor that call configActivated() so it
might end up in a deadlock. Resolving config immediately instead
should avoid this.
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/rpc/GetConfigProcessor.java | 4 |
1 files changed, 2 insertions, 2 deletions
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 5e7fff8c922..6d1229aedae 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 @@ -155,8 +155,8 @@ class GetConfigProcessor implements Runnable { rpcServer.delayResponse(request, context); if (rpcServer.hasNewerGeneration(context.applicationId(), d.generation())) { // This will ensure that if the config activation train left the station while I was boarding, - // another train will immediately be scheduled. - rpcServer.configActivated(context.applicationId()); + // we will resolve config again with new generation + resolveConfig(request); } }); } |