aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2023-03-06 14:45:56 +0000
committerArne Juul <arnej@yahooinc.com>2023-03-06 14:45:56 +0000
commit879d2d9bcc84a3e246c9d48b7cf701b49633c7a0 (patch)
tree27993a9538dee65dcee23e4bad1a5c343fe0bb08 /config-model/src/main/java/com
parent85f059dc265a06d29944d94cf6f3f8368a3d5fd1 (diff)
add RankProfilesEvaluatorComponent instances for streaming search clusters also
Diffstat (limited to 'config-model/src/main/java/com')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java12
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java11
4 files changed, 22 insertions, 6 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
index d97840d4cbf..b2a38bd6b08 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
@@ -77,12 +77,12 @@ public class ContainerSearch extends ContainerSubsystem<SearchChains>
if (searchCluster instanceof IndexedSearchCluster indexed) {
var dispatcher = new DispatcherComponent(indexed);
owningCluster.addComponent(dispatcher);
- if (globalPhase) {
- for (var documentDb : indexed.getDocumentDbs()) {
- var factory = new RankProfilesEvaluatorComponent(documentDb);
- if (! owningCluster.getComponentsMap().containsKey(factory.getComponentId())) {
- owningCluster.addComponent(factory);
- }
+ }
+ if (globalPhase) {
+ for (var documentDb : searchCluster.getDocumentDbs()) {
+ var factory = new RankProfilesEvaluatorComponent(documentDb);
+ if (! owningCluster.getComponentsMap().containsKey(factory.getComponentId())) {
+ owningCluster.addComponent(factory);
}
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
index 708a3f220ac..4ed8c5ab2e8 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
@@ -203,9 +203,11 @@ public class IndexedSearchCluster extends SearchCluster
}
}
+ @Override
public List<DocumentDatabase> getDocumentDbs() {
return documentDbs;
}
+
public boolean hasDocumentDB(String name) {
for (DocumentDatabase db : documentDbs) {
if (db.getName().equals(name)) {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java
index 61455fcbf34..818c43d0f93 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java
@@ -55,6 +55,9 @@ public abstract class SearchCluster extends TreeConfigProducer<AnyConfigProducer
*/
public abstract void deriveFromSchemas(DeployState deployState);
+ /** Returns the document databases contained in this cluster */
+ public abstract List<DocumentDatabase> getDocumentDbs();
+
/** Returns a list of the document type names used in this search cluster */
public List<String> getDocumentNames() {
return schemas.values()
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
index 6293a6d6cf2..3cedae2f896 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
@@ -17,6 +17,8 @@ import com.yahoo.vespa.config.search.vsm.VsmfieldsConfig;
import com.yahoo.vespa.config.search.vsm.VsmsummaryConfig;
import com.yahoo.vespa.configdefinition.IlscriptsConfig;
+import java.util.List;
+
/**
* A search cluster of type streaming.
*
@@ -80,6 +82,15 @@ public class StreamingSearchCluster extends SearchCluster implements
}
@Override
+ public List<DocumentDatabase> getDocumentDbs() {
+ if (derived() == null) {
+ throw new IllegalArgumentException("missing derivedConfig");
+ }
+ var db = new DocumentDatabase(this, docTypeName, derived());
+ return List.of(db);
+ }
+
+ @Override
public void defaultDocumentsConfig() { }
@Override