aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java
index 3f1de25f71f..3cf887a5928 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java
@@ -41,9 +41,17 @@ public class SearchChains extends Chains<SearchChain> {
private void setSearchClusterForLocalProvider(Map<String, ? extends SearchCluster> clusterIndexByName) {
for (LocalProvider provider : localProviders()) {
- SearchCluster cluster = clusterIndexByName.get(provider.getClusterName());
- if (cluster == null)
- throw new IllegalArgumentException("No searchable content cluster with id '" + provider.getClusterName() + "'");
+ String clusterName = provider.getClusterName();
+ SearchCluster cluster = clusterIndexByName.get(clusterName);
+ if (cluster == null) {
+ if (clusterName.contains(".")) { // Is there a super cluster ...
+ String prefix = clusterName.substring(0, clusterName.indexOf('.'));
+ cluster = clusterIndexByName.get(prefix);
+ }
+ if (cluster == null) {
+ throw new IllegalArgumentException("No searchable content cluster with id '" + provider.getClusterName() + "'");
+ }
+ }
provider.setSearchCluster(cluster);
}
}