summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2024-05-15 20:29:26 +0200
committerjonmv <venstad@gmail.com>2024-05-15 20:29:26 +0200
commit8cb0ebb11ad30cd10a95c6cd7e8eb2c78b664e48 (patch)
tree68336a6c781dc01142cacb343cf1fe4a2f7cbc6b /configserver
parentfc104fab59e2c4b74e07e1c5f2c253eea7efacfc (diff)
Revert to manual triggering of reindexing for non-hosted
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java21
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/ActivationTriggers.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java2
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