diff options
author | Harald Musum <musum@yahooinc.com> | 2022-02-02 09:19:26 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-02-02 09:19:26 +0100 |
commit | aa55db4fd5d219a1bc8b0bc0833b0c9c2e06ed74 (patch) | |
tree | d353563b7450cf2afc055d64136bc1ea42f32ea9 /configserver | |
parent | ea2723614788a986490b6ce794835224c9eb88a2 (diff) |
Minor changes to checking config convergence before restart
Move a timeout and adjust some log messages
Diffstat (limited to 'configserver')
3 files changed, 7 insertions, 8 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java index ba0392ffc5a..a49af0a0e51 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java @@ -113,7 +113,8 @@ public class ConfigConvergenceChecker extends AbstractComponent { * Checks services except those which defer config changes until restart in the given application. * Returns the minimum current generation of those services. */ - public ServiceListResponse checkConvergenceUnlessDeferringChangesUntilRestart(Application application, Duration timeoutPerService) { + public ServiceListResponse checkConvergenceUnlessDeferringChangesUntilRestart(Application application) { + Duration timeoutPerService = Duration.ofSeconds(10); return checkConvergence(application, timeoutPerService, false); } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java index 099f0be6fe9..3f222f759c1 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java @@ -183,8 +183,7 @@ public class Deployment implements com.yahoo.config.provision.Deployment { .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()); if ( ! verify.value()) return; - // Timeout per service when getting config generations - Duration timeout = Duration.ofSeconds(10); + deployLogger.log(Level.INFO, "Wait for all services to use new config generation before restarting"); while (true) { try { params.get().getTimeoutBudget().assertNotTimedOut( @@ -193,15 +192,14 @@ public class Deployment implements com.yahoo.config.provision.Deployment { throw new ConfigNotConvergedException(e); } - deployLogger.log(Level.INFO, "Wait for services to converge on new generation before restarting"); ConfigConvergenceChecker convergenceChecker = applicationRepository.configConvergenceChecker(); Application app = applicationRepository.getActiveApplication(applicationId); - ServiceListResponse response = convergenceChecker.checkConvergenceUnlessDeferringChangesUntilRestart(app, timeout); + ServiceListResponse response = convergenceChecker.checkConvergenceUnlessDeferringChangesUntilRestart(app); if (response.converged) { - deployLogger.log(Level.INFO, "Services converged on new generation " + response.currentGeneration); + deployLogger.log(Level.INFO, "Services converged on new config generation " + response.currentGeneration); return; } else { - deployLogger.log(Level.INFO, "Services not converged on new generation, wanted generation: " + + deployLogger.log(Level.INFO, "Services did not converge on new config generation " + response.wantedGeneration + ", current generation: " + response.currentGeneration + ", will retry"); try { Thread.sleep(10_000); } catch (InterruptedException e) { /* ignore */ } } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/MockConfigConvergenceChecker.java b/configserver/src/test/java/com/yahoo/vespa/config/server/MockConfigConvergenceChecker.java index e63fdf9bf19..b4892caa05f 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/MockConfigConvergenceChecker.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/MockConfigConvergenceChecker.java @@ -31,7 +31,7 @@ public class MockConfigConvergenceChecker extends ConfigConvergenceChecker { } @Override - public ServiceListResponse checkConvergenceUnlessDeferringChangesUntilRestart(Application application, Duration timeoutPerService) { + public ServiceListResponse checkConvergenceUnlessDeferringChangesUntilRestart(Application application) { return new ServiceListResponse(Map.of(), wantedGeneration, wantedGeneration); } |