diff options
author | jonmv <venstad@gmail.com> | 2024-05-15 20:29:26 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2024-05-15 20:29:26 +0200 |
commit | 8cb0ebb11ad30cd10a95c6cd7e8eb2c78b664e48 (patch) | |
tree | 68336a6c781dc01142cacb343cf1fe4a2f7cbc6b /configserver | |
parent | fc104fab59e2c4b74e07e1c5f2c253eea7efacfc (diff) |
Revert to manual triggering of reindexing for non-hosted
Diffstat (limited to 'configserver')
3 files changed, 16 insertions, 8 deletions
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 c219d59a44e..a9b3780bc87 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 @@ -2,7 +2,6 @@ package com.yahoo.vespa.config.server.deploy; import ai.vespa.metrics.ConfigServerMetrics; -import com.yahoo.concurrent.UncheckedTimeoutException; import com.yahoo.config.FileReference; import com.yahoo.config.application.api.DeployLogger; import com.yahoo.config.provision.ActivationContext; @@ -19,11 +18,8 @@ import com.yahoo.vespa.config.server.ApplicationRepository; import com.yahoo.vespa.config.server.ApplicationRepository.ActionTimer; import com.yahoo.vespa.config.server.ApplicationRepository.Activation; import com.yahoo.vespa.config.server.TimeoutBudget; -import com.yahoo.vespa.config.server.application.ConfigNotConvergedException; import com.yahoo.vespa.config.server.configchange.ConfigChangeActions; -import com.yahoo.vespa.config.server.configchange.ReindexActions; import com.yahoo.vespa.config.server.configchange.RestartActions; -import com.yahoo.vespa.config.server.session.ActivationTriggers; import com.yahoo.vespa.config.server.session.ActivationTriggers.NodeRestart; import com.yahoo.vespa.config.server.session.ActivationTriggers.Reindexing; import com.yahoo.vespa.config.server.session.PrepareParams; @@ -41,10 +37,10 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import static com.yahoo.vespa.config.server.application.ConfigConvergenceChecker.ServiceListResponse; import static com.yahoo.vespa.config.server.session.Session.Status.DELETE; +import static java.util.stream.Collectors.groupingBy; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toSet; @@ -181,12 +177,25 @@ public class Deployment implements com.yahoo.config.provision.Deployment { } private void storeReindexing(ApplicationId applicationId) { + if ( ! applicationRepository.configserverConfig().hostedVespa()) return; + + List<Reindexing> entries = session.getActivationTriggers().reindexings(); + if (entries.isEmpty()) return; + applicationRepository.modifyReindexing(applicationId, reindexing -> { - for (Reindexing entry : session.getActivationTriggers().reindexings()) + for (Reindexing entry : entries) reindexing = reindexing.withPending(entry.clusterId(), entry.documentType(), session.getSessionId()); return reindexing; }); + deployLogger.log(Level.INFO, String.format("Scheduled reindexing of %d document types across %d clusters: %s", + entries.size(), + entries.stream().map(Reindexing::clusterId).distinct().count(), + entries.stream().collect(groupingBy(Reindexing::clusterId)).entrySet().stream() + .map(typesInCluster -> typesInCluster.getKey() + ": " + + typesInCluster.getValue().stream() + .map(Reindexing::documentType).collect(joining(", "))) + .collect(joining("; ")))); } /** diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/ActivationTriggers.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/ActivationTriggers.java index e704a36d21e..191f936c333 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/ActivationTriggers.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/ActivationTriggers.java @@ -1,6 +1,5 @@ package com.yahoo.vespa.config.server.session; -import com.yahoo.config.provision.ClusterSpec; import com.yahoo.vespa.config.server.configchange.ConfigChangeActions; import java.util.List; diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java index fffa77fc419..322d89daa38 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java @@ -457,7 +457,7 @@ public class SessionPreparer { } /** - * Collects the config change actions from all model factory creations and returns the aggregated union of these actions. + * Collects the config change actions from all model factory creations and returns the union of these actions. * A system in the process of upgrading Vespa will have hosts running both version X and Y, and this will change * during the upgrade process. Trying to be smart about which actions to perform on which hosts depending * on the version running will be a nightmare to maintain. A pragmatic approach is therefore to just use the |