diff options
author | jonmv <venstad@gmail.com> | 2024-01-14 14:04:57 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2024-01-14 14:04:57 +0100 |
commit | 201efca9429652d52ea9626e450c7eba63381bb3 (patch) | |
tree | 189ddb404eab3ba02a4d3ce2f7ca4bd2de8e953e /configserver | |
parent | e49f46a6e42d3cddc8dca363d90f27a24c483024 (diff) |
Respond with not converged when restarts are pending
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java index 742e92500d9..2102a5a04b5 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java @@ -132,6 +132,7 @@ import static com.yahoo.vespa.config.server.tenant.TenantRepository.HOSTED_VESPA import static com.yahoo.vespa.curator.Curator.CompletionWaiter; import static com.yahoo.yolean.Exceptions.uncheck; import static java.nio.file.Files.readAttributes; +import static java.util.stream.Collectors.toMap; /** * The API for managing applications. @@ -789,7 +790,13 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye public ServiceListResponse servicesToCheckForConfigConvergence(ApplicationId applicationId, Duration timeoutPerService, Optional<Version> vespaVersion) { - return convergeChecker.checkConvergenceForAllServices(getApplication(applicationId, vespaVersion), timeoutPerService); + ServiceListResponse response = convergeChecker.checkConvergenceForAllServices(getApplication(applicationId, vespaVersion), timeoutPerService); + if (response.converged && ! getPendingRestarts(applicationId).isEmpty()) + return new ServiceListResponse(response.services.stream().collect(toMap(service -> service.serviceInfo, + service -> service.currentGeneration)), + response.wantedGeneration, + response.currentGeneration); + return response; } public ConfigConvergenceChecker configConvergenceChecker() { return convergeChecker; } |